2012-04-27 44 views
4

我有一个非常简单的silverlight接口,它有一堆链接。有点像老派的html区域地图,其中不同的部分将您带到内部网络的不同位置。HtmlPage.Window.Navigate在IE中可用,但在Chrome中不可用

我在测试我的网页在IE上开发盒,并有成功重定向使用

HtmlPage.Window.Navigate(New Uri("http://mytestbox02/")) 

我把源代码拷贝到我的笔记本电脑,为VS2010的默认浏览器碰巧页面铬和令我惊讶我的链接无法正常工作。有时我看到它重定向,但它改变了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之外的其他更多交叉兼容?我还没有发现任何东西虽然..

回答

2

看来,这可能实际上是一个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();"); 
+0

我开始以为我是唯一一个跑过这个...... – TWood 2012-09-21 19:07:26

相关问题