Silverlight打开新选项卡:使用IE 7-8关闭

Silverlight打开新选项卡:使用IE 7-8关闭,silverlight,tabs,Silverlight,Tabs,我正在使用此代码从Silverlight应用程序中打开一个新选项卡(单击按钮): 奇怪的是,它在IE9和Firefox上工作得很有魅力。但在IE8和IE7中,选项卡打开(持续1秒),并立即关闭(弹出阻止程序被禁用)。如果我对IE 9进行更新,问题就解决了 我还测试了这段代码: HtmlPage.Window.Invoke("open", new object[] { "\\SERVER\file.docx", "popup" }); 但是我也遇到了同样的问题。它与Silverlight无关,

我正在使用此代码从Silverlight应用程序中打开一个新选项卡(单击按钮):

奇怪的是,它在IE9和Firefox上工作得很有魅力。但在IE8和IE7中,选项卡打开(持续1秒),并立即关闭(弹出阻止程序被禁用)。如果我对IE 9进行更新,问题就解决了

我还测试了这段代码:

HtmlPage.Window.Invoke("open", new object[] { "\\SERVER\file.docx", "popup" }); 

但是我也遇到了同样的问题。

它与Silverlight无关,因为它只使用了html桥:

因此,不同的行为源于浏览器中javascript的差异

窗口/选项卡打开不可靠,因为它取决于实际浏览器和实际用户的设置


无论如何,您应该在SO或Google中查找这些差异。

它与Silverlight无关,因为它只使用了html桥:

因此,不同的行为源于浏览器中javascript的差异

窗口/选项卡打开不可靠,因为它取决于实际浏览器和实际用户的设置


无论如何,您应该在SO或Google中查找这些差异。

谢谢您的快速回答

我知道JavaScript中的行为取决于所使用的浏览器。事实上,我希望找到一个在所有浏览器和配置中运行的代码

我创建了这个,它似乎在IE 7、IE 8和IE 9中起作用:

private const string javascript = @"var popup = window.open('', 'blah') ; 
                                    if(popup.location != 'http://www.bing.com' ){
                                        popup.location = 'http://www.bing.com';
                                    }
                                    popup.focus();";

private void navigationButton_Click(object sender, RoutedEventArgs e)
{
    HtmlPage.Window.Eval(javascript);
} 

我知道,这不太像样。。。此外,选项卡保持打开状态。

谢谢您的快速回答

我知道JavaScript中的行为取决于所使用的浏览器。事实上,我希望找到一个在所有浏览器和配置中运行的代码

我创建了这个,它似乎在IE 7、IE 8和IE 9中起作用:

private const string javascript = @"var popup = window.open('', 'blah') ; 
                                    if(popup.location != 'http://www.bing.com' ){
                                        popup.location = 'http://www.bing.com';
                                    }
                                    popup.focus();";

private void navigationButton_Click(object sender, RoutedEventArgs e)
{
    HtmlPage.Window.Eval(javascript);
} 
我知道,这不太像样。。。此外,选项卡保持打开状态