我有一个非常简单的银光界面,上面有一堆链接。有点像老式的html区域地图,其中不同的部分将您带到内部网络上的不同位置。
我正在开发框上在IE中测试我的页面,并且使用成功重定向页面
HtmlPage.Window.Navigate(New Uri("http://mytestbox02/"))
我将源代码的副本带到我的笔记本电脑上,VS2010的默认浏览器恰好是Chrome,令我惊讶的是,我的链接不起作用。有时我看到它重定向,但它破坏了 uri,最终以 mytestbox02/ 的形式出现,因此它除了 404 之外没有去任何地方,因为它缺少 http://前缀。有时我会遇到例外。该例外的详细信息是
System.InvalidOperationException was caught
Message=SetProperty failed.
StackTrace:
at System.Windows.Browser.ScriptObject.SetProperty(String name, Object value)
at System.Windows.Browser.ScriptObject.GetObjectForSafari(IntPtr identity, IntPtr handle, Type type, Boolean releaseReferenceOnDispose)
at System.Windows.Browser.ScriptObject.GetObject(IntPtr handle, Type type, Boolean ownsHandle, Boolean releaseReferenceOnDispose)
at System.Windows.Hosting.ScriptingInterface.GetScriptParamValue(ScriptParam scriptParam)
at System.Windows.Hosting.ScriptingInterface.ConvertFromScriptParamAndDispose(ScriptParam scriptParam)
at System.Windows.Browser.ScriptObject.TryInvoke(String name, Object[] args, Exception& error)
at System.Windows.Browser.ScriptObject.Invoke(String name, Object[] args)
at System.Windows.Browser.HtmlWindow.Navigate(Uri navigateToUri, String target, String targetFeatures)
at System.Windows.Browser.HtmlWindow.Navigate(Uri navigateToUri)
at popupwindow.MainPage.ChildWindow_Closed(Object sender, EventArgs e)
InnerException:
Silverlight 4.1.10111.0 在开发盒和我的笔记本电脑上。
知道这是怎么回事吗?我不能完全确定我的客户会使用 IE,所以我希望有一个解决方法。或者除了window.navigate之外,我可以使用更交叉兼容的东西?不过我还没有找到任何东西..
似乎这实际上可能是Chrome的问题-我只是花了一天时间自己与之抗争。
http://forums.silverlight.net/t/213769.aspx/1
http://stulic.blogspot.com/2009/08/javascript-locationhref-vs-silverlight.html
您可能需要使用某种JavaScript。
HtmlPage.Window.Eval("window.location.href = '<something>';");
//or
HtmlPage.Window.Eval("window.location.reload();");