如何将javascript框架注入ChakraBridge上下文
How into inject javascript frameworks into ChakraBridge context?
我正试图使用ChakraBridge库在我的UWP应用程序中使用math.js。我参考了以下链接,以便在UWP应用程序中使用javascript框架。http://www.codeproject.com/Articles/1060634/Using-JavaScript-frameworks-from-your-Csharp-UWP-a
但我不知道如何将javascirpt框架注入Chakra上下文。链接上说使用方法"ReadAndExecute"或"DownloadAndExecute",但我在ChakraBridge库的任何类中都找不到这些方法。那么,如何将*.js文件注入ChakraBridge上下文中呢?
链接上说使用方法"ReadAndExecute"或"DownloadAndExecute",但我在ChakraBridge库的任何类中都找不到这些方法。
这两种方法应该由编码器定义。它们记录在ChakraBridge GitHub网站中。它们看起来如下:
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上下文中。只需像下面这样调用这两种方法:
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.
这是我制作的一个基本演示的链接:ChakraBridgeSample
注:
- Newtonsoft.Json应该在您的项目中作为前期工作参考。它可以通过在Nuget Package Manager上搜索或通过Nuget Package管理器控制台安装:"Install Package Newtonsoft.Json"
注册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");
相关文章:
- 使用Objective-C的JavaScript注入方法
- 正在注入包含JS的HTML
- 迷你$provider注入茉莉花和角
- Angularjs工厂注入错误
- 通过命令行/批处理文件打开页面时,将javascript代码注入Google Chrome
- 如何在Ionic Android中将Javascript注入到web视图中
- Android Webview通过Javascript注入CSS
- Meteor:在启动时将html注入客户端文件
- 注入工厂时,Angular停止工作
- 注入Javascript以选择具有指定值的所有单选按钮
- XSS通过地址栏注入
- 注入angularjs指令
- Ember服务在注入组件并在计算属性中使用后是未定义的
- AngularJS依赖注入定时问题
- 如何通过铬扩展注入反应元素
- 如何防止在客户端/服务器两侧对文本框进行sql注入
- Ionic将firebase注入工厂,同时将控制器和服务保存在不同的文件中
- 如何在单元测试中将存储注入Ember.Service
- 注入的HTML仅在Dom中解释为字符串
- 如何将javascript框架注入ChakraBridge上下文