在web浏览器和Windows Phone应用HTML之间的通信(Communication bet

2019-10-20 16:26发布

我已经下载到独立存储一些静态的html文件。 我尝试使用内部的Windows Phone应用程序的Web浏览器控制的文件。 现在每个HTML文件将通过JavaScript与后端代码沟通, window.external.notify()不能适用于所有的HTML页面。

所以我的问题是,

有没有像任何API(iOS中) WebViewJavascriptBridge和GAJavaScript或类似的(机器人) Javascript Interface可用于Windows 8手机将在web浏览器和Windows Phone应用程序的HTML通信。 请问WinJS支持相同的Windows Phone 8的?

Answer 1:

从HTML接收数据到电话:

您需要添加事件处理程序,web浏览器的ScriptNotify事件。 此后,只要您拨打window.external.Notify(参数)HTML页面内,ScriptNotify会火,你会得到ARGS在NotifyEventArgs参数的Value属性。

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

在CS:

protected override void OnNavigatedTo(NavigationEventArgs e)
{
    browser.ScriptNotify += browser_ScriptNotify;
}

private void browser_ScriptNotify(object sender, NotifyEventArgs e)
{
    var valueFromBrowser = e.Value;
}

对于从手机将数据传递到HTML:

您需要使用InvokeScript()web浏览器的方法。 在那里,你需要在如有JavaScript和输入参数传递给函数的名称。

在javascript: function doSomething(args) { }

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

希望能帮助到你。



文章来源: Communication between HTML in WebBrowser and windows phone app