繁体   English   中英

如何将参数传递给 WP7/WP8 中的本地 html 页面?

[英]How to pass a parameter to a local html page in WP7 / WP8?

有谁知道如何将 url 参数传递给 Web 浏览器控件中的本地页面?

当您单独导航到"/Html/MyPage.html"页面时一切正常,但是一旦您添加参数"/Html/MyPage.html?Message=Hello"我就会收到一个错误页面,指出我们无法导航到这一页。
有任何想法吗?

作为一种有效的解决方法,您可以按如下方式实现:

A. 导航到没有任何参数的页面

B. 将下面的参数传递逻辑附加到以下事件之一

WebBrowser.Navigated 事件- 成功导航时

WebBrowser.LoadCompleted 事件- 在 WebBrowser 控件加载内容后发生。

C. 使用webBrowser.InvokeScript (C#)向 html 页面注入参数

webBrowser.InvokeScript("eval", new string[] {"processArgs('someArgs') or any generated/custom script"}); 

或者

webBrowser.InvokeScript("processArgs", new string[] {"someArgs"});

其中 processArgs 定义在您的 html 文件中的某处。

作为另一种解决方法,您可以将参数作为位置哈希参数传递(如果未使用)

browser.Navigate(new Uri("www/index.html#p=123&p2=567", UriKind.Relative));

然后在 index.html

var args = window.location.hash;

(参数 = '#p=123&p2=567')

在 WP7(index.html 存储在隔离存储中)+ WP8(index.html 直接从 XAP 加载)上测试

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM