我将一些静态html文件下载到Isolated store中。我试图在Windows Phone应用程序内使用Web浏览器控件打开这些文件。现在,每个HTML文件都将通过javascript与后端代码进行通信,window.external.notify()
无法应用于所有html页面。
所以我的问题是,
是否有任何API(在iOS中)WebViewJavascriptBridge和GAJavaScript或类似(android)Javascript Interface
可用于Windows Phone 8,它将与WebBrowser和Windows Phone应用程序中的HTML进行通信。 WinJS 支持Windows Phone 8的相同功能吗?
答案 0 :(得分:4)
用于从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) { }
:browser.InvokeScript("doSomething", args);
希望它有所帮助。