WebBrowser中HTML与windows phone应用之间的通信

本文关键字:应用 之间 通信 phone windows HTML WebBrowser | 更新日期: 2023-09-27 18:17:31

我有一些静态html文件下载到孤立的商店。我试图打开这些文件使用Web浏览器控制在windows phone应用程序内。现在每个HTML文件将通过javascript与后端代码通信,window.external.notify()是不能适用于所有的HTML页面。

我的问题是,

是否有任何API(在iOS) WebViewJavascriptBridge和GAJavaScript或(android) Javascript Interface可用于windows phone 8,这将与web浏览器和windows phone应用程序中的HTML通信。将WinJS支持相同的windows phone 8?

WebBrowser中HTML与windows phone应用之间的通信

从HTML接收数据到电话:

你需要为WebBrowser的ScriptNotify事件添加事件处理程序。之后,每当你在html页面中调用window.external.Notify(args)时,ScriptNotify将被触发,你将在NotifyEventArgs参数的Value属性中获得args。

in javascript: window.external.Notify(args);

in CS:

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中传递函数名称并输入参数(如果有的话)。

in javascript: function doSomething(args) { }

in CS: browser.InvokeScript("doSomething", args);

希望能有所帮助。