我知道这是可能调用本地C#
从WinJS
通过创建Windows运行时组件,然后将其添加为到参考WinJS
应用程序-但有可能从做同样的事情WinJS
应用程序时,它的加载一个内部WebView
?
我已经试过了,但它似乎WinJS
内部应用程序WebView
在一个完全不同的环境或操作的东西,并没有找到符号,所以它崩溃,并提供推出的新实例VS2013
尝试和调试。
我知道这是可能调用本地C#
从WinJS
通过创建Windows运行时组件,然后将其添加为到参考WinJS
应用程序-但有可能从做同样的事情WinJS
应用程序时,它的加载一个内部WebView
?
我已经试过了,但它似乎WinJS
内部应用程序WebView
在一个完全不同的环境或操作的东西,并没有找到符号,所以它崩溃,并提供推出的新实例VS2013
尝试和调试。
你在一个原生的JavaScript应用程序和网页视图的背景下,应用主机上下文正确的是两个不同的东西。 只有应用主机允许JavaScript说话的WinRT这也适用于WinRT的组件,组件在同样的方式,WinRT的API是本身结构。 实际上,你的问题是一样的,询问是否可以加载的WinRT组件到Web浏览器(因为网页视图是一个Web浏览器的控制,基本上是),那么答案是否定的。
代码网页视图里面只有这样,才能摆脱这方面的,跟我们的任何代码(JS,C#等)可访问的WinRT API的,是从网页视图中使用window.external.notify。 该应用拾取该消息作为来自网页视图来一个事件(在JS与X-MS-网页视图它MSWebViewScriptNotify ,在C#/ VB与XAML web视图它ScriptNotify )。 然后该应用程序可以处理参数来调用的API响应。
当然,因为window.external.notify并不像一个函数调用中,你可以返回一个值,该应用就必须通过其InvokeScriptAsync方法将结果发送到web视图,使其成为一个异步关系。
我再谈谈第四章中的细节我的免费电子书(204页起), 编程Windows应用商店的应用程序使用HTML,CSS和JavaScript,第2版 , http://aka.ms/BrockschmidtBook2 。