在我们的silverlight应用程序中,我们设置浏览器窗口的位置哈希属性,以便为当前控件和请求的查询参数添加书签.这是通过Silverlight通过javascript完成的,如下所示:
var hashCode = "Example.ControlNamespace.ClassName?clientID=62189";
HtmlPage.Window.Eval(string.Format("window.location.hash='{0}'",hashCode));
这种方法运行得很好,但是我们从生产中得到间歇性错误,这种错误会导致堆栈跟踪以该行结束.
System.InvalidOperationException:Eval失败.
在System.Windows.Browser.HtmlWindow.Eval(字符串代码)
这只会偶尔发生,但我想知道是什么导致了它.我曾经能够使用IE8复制它,所以我认为没有任何模糊的浏览器导致这种情况.似乎设置哈希有时无效,但我不知道为什么.此外,如果它在托管在安全连接上的重要性,https.
提前致谢.
编辑:我能够再次复制它.调试javascript时,错误是“权限被拒绝”.这似乎只发生在页面的第一次加载,所以可能页面没有完成加载,并且在完成之前不允许更改url哈希?
最佳答案