2016-05-03 6 views
2

私はChakraBridgeライブラリを使用して私のUWPアプリケーションでmath.jsを使用しようとしています。私は、UWPアプリケーションでjavascriptフレームワークを使用するために、次のリンクを参照しました。 http://www.codeproject.com/Articles/1060634/Using-JavaScript-frameworks-from-your-Csharp-UWP-aChakraBridgeコンテキストにJavaScriptフレームワークを挿入するにはどうすればいいですか?

しかし、チャクラのコンテキストにjavascalptフレームワークを挿入する方法を理解できません。リンクには "ReadAndExecute"や "DownloadAndExecute"というメソッドがありますが、ChakraBridgeライブラリのどのクラスでもそれらのメソッドを見つけることができませんでした。 * .jsファイルをChakraBridgeコンテキストに挿入するにはどうすればよいですか?

答えて

3

リンクは、 "ReadAndExecute"または "DownloadAndExecute"メソッドを使用していますが、ChakraBridgeライブラリのいずれのクラスでもそれらのメソッドを見つけることができませんでした。

2つの方法はコーダーで定義する必要があります。それらはChakraBridge GitHub Siteに記載されています。そして、彼らは以下のようになります:

async Task ReadAndExecute(string filename) 
{ 
    //"js" is the folder name of your javascript library. 
    var script = await CoreTools.GetPackagedFileContentAsync("js", filename); 
    host.RunScript(script); 
} 

async Task DownloadAndExecute(string url) 
{ 
    var script = await CoreTools.DownloadStringAsync(url); 
    host.RunScript(script); 
} 

したがって、* .jsファイルをChakraBridgeコンテキストに登録します。単に以下のように、これらの2つのメソッドを呼び出します。ChakraBridgeSample

注:

  1. Newtonsoft.Jsonのように、あなたのプロジェクトで参照する必要があります

    string url = @"http://cdnjs.cloudflare.com/ajax/libs/mathjs/3.2.1/math.js"; 
    await DownloadAndExecute(url);//load math.js from remote source. 
    await ReadAndExecute("math.js");//load math.js from local source. 
    await ReadAndExecute("main.js");//main.js is the custom js codes. You can utilize math.js here. 
    

    そして、ここでは私が作った基本的なデモへのリンクです事前作業。 Nuget Package Managerで検索するか、Nuget Package Manager Consoleでインストールすることができます: "Install-Package Newtonsoft.Json"。

  2. CommunicationManager.OnObjectReceivedイベントを登録する動作は、GitHubドキュメントとは少し異なります。 Type引数はもうありません(データ引数のみ)。だから、JavaScriptの側には、sendToHost機能は以下のようになります。

    var data = math.atan2(3, -3)/math.pi; 
    // "Double" should match the typeof(Double) in C# side. Capitalizing is necessary. 
    sendToHost(JSON.stringify(data), "Double"); 
    
関連する問題