我将一些静态 html 文件下载到隔离存储中。我正在尝试使用 Windows Phone 应用程序中的 Web 浏览器控件打开这些文件。现在每个HTML文件都会通过javascript与后端代码进行通信,window.external.notify()并不能应用于所有html页面。
所以我的问题是,
是否有类似(在 iOS 中)WebViewJavascriptBridge 的 API和 GAJavaScript或类似 (android) Javascript Interface 可用于 windows phone 8,它将与 WebBrowser 和 windows phone 应用程序中的 HTML 进行通信。威尔
<强>
WinJS 支持 Windows Phone 8 吗?
强>
请您参考如下方法:
从 HTML 接收数据到手机:
您需要为 WebBrowser 的 ScriptNotify 事件添加事件处理程序。之后,每当您在 html 页面内调用 window.external.Notify(args) 时,ScriptNotify 都会触发,您将在 NotifyEventArgs 参数的 Value 属性中获得 args。
在 javascript 中:window.external.Notify(args);
在计算机科学中:
protected override void OnNavigatedTo(NavigationEventArgs e)
{
browser.ScriptNotify += browser_ScriptNotify;
}
private void browser_ScriptNotify(object sender, NotifyEventArgs e)
{
var valueFromBrowser = e.Value;
}
用于将数据从手机传递到 HTML:
您需要使用 WebBrowser 的 InvokeScript() 方法。在那里你需要在 javascript 中传递函数的名称和输入参数(如果有的话)。
在 javascript 中:function doSomething(args) { }
在 CS 中:browser.InvokeScript("doSomething", args);
希望对您有所帮助。
