Skip to main content
 首页 » 编程设计

c#之WebBrowser 中的 HTML 与 Windows Phone 应用程序之间的通信

2024年02月06日28xiaohuochai

我将一些静态 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);

希望对您有所帮助。