我正在使用WebBrowser控件来启动和浏览Windows Phone 7模拟器和设备中本地加载的一些html文件。一切正常,直到我们使用查询字符串的网页导航。 javascript需要读取这些查询字符串,但是当包含查询字符串时导航完全失败。没有查询字符串,导航工作正常。
我很高兴坚持这一点,非常感谢你的想法。 贝
答案 0 :(得分:7)
我也找不到将查询字符串传递给本地HTML文件的方法。 (我将HTML文件复制到隔离存储并从那里查看。)
...然而
我可以成功导航到本地HTML文件并指定片段。如果片段包含等号(=)和&符号(&),它甚至可以工作,所以你可以这样做:
webBrowser1.Navigate(new Uri("index.html#123=abc&456=def", UriKind.Relative));
使用以下
获取值<html>
<head>
<script type="text/javascript">
function onLoad() {
fs.innerHTML = document.location.href.split("#")[1];
}
</script>
</head>
<body onload="onLoad()" >
<p id="fs" />
</body>
</html>
在页面上显示以下内容(在浏览器控件中)。
123=abc&456=def
(显然你可以根据需要用javascript中的值做更合适的事情。)
是的,您可以像查询字符串一样使用fragent。
这显然可以正常工作,只要您不需要同时使用它们。
答案 1 :(得分:0)
如果传递查询字符串,则需要一个网络服务器。
这是因为浏览器不知道另一个文件的区别是什么是查询字符串。它只认为文件名为“file.html?param = value”搜索此文件,但在本地找不到。
所以在没有网络服务器的情况下,这是不可能的。
<强>解决方案强>