以编程方式在浏览器的新选项卡中打开

时间:2012-05-08 10:34:52

标签: c# asp.net

我在精美的框中有一个登录页面,点击登录后我想在新标签页中打开安全页面 并使用此代码

//在btnlogin_click上的代码

FormsAuthentication.RedirectFromLoginPage(loginID, false);
   string redirectTo = GetResPath("/webPages/Default.aspx");
                ScriptManager.RegisterStartupScript(this.Page, typeof(Page), "add2", "parent.jQuery.redirTo='" + redirectTo + "'; parent.jQuery.fancybox.close();", true);

//在aspx页面上

 <script type="text/javascript">
    $(document).ready(function () {
        $('[id*=logn_btn_new]').fancybox({
            'width': 480,
            'height': 280,
            'padding': 10,
            'margin': 10,
            'hideOnOverlayClick': false,
            'scrolling': 'no',
            'autoScale': false,
            'transitionIn': 'none',
            'transitionOut': 'none',
            'type': 'iframe',
            'onClosed': function () {
                try {

                    if ($.redirTo != null && $.redirTo.length > 0) {
                        var pop = window.open($.redirTo, '_newtab');

                        if (pop == null) {
                            alert("Please allow popups.");
                        }


                    }
                }
                catch (err) {
                    alert(err);
                }
            }
        });
    });
</script>

和redirTo隐藏了fielld。

我无法在新标签页面中打开任何人的帮助吗?

1 个答案:

答案 0 :(得分:2)

这是一个困难的问题,因为它是由用户的网络浏览器设置控制的。

您使用的方法特定于FireFox,并且确实会打开一个新标签。但这仍然可以被用户的设置覆盖。

然而,要在其他浏览器中获得相同的效果,请参阅IE Open a new tab in IE through Javascript

的文章

值得考虑为什么你需要这样做。如果您在未通知他们的情况下打开新选项卡/窗口,用户可能会感到困惑。是否可以不打开新窗口并将所有内容保存在同一页面中?然后你知道人们逻辑上会在一定程度上得到相同的结果。

我希望这有帮助!