0

ファンシーボックスにログインページがあり、ログインをクリックすると、新しいタブで安全なページを開き、このコードを使用します

//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は隠されています。

新しいタブでページを開くことができません。誰か助けてもらえますか?

4

1 に答える 1

2

これは、ユーザーのWebブラウザー設定によって制御されるものであるため、難しいものです。

使用しているメソッドはFireFoxに固有のものであり、実際に新しいタブが開きます。ただし、これはユーザーの設定によって上書きできます。

ただし、他のブラウザで同じ効果を得るには、ここにIEの記事があります。Javascriptを使用してIEで新しいタブを開きます

なぜこれを行う必要があるのか​​を検討する価値があります。通知せずに新しいタブ/ウィンドウを開くと、ユーザーが混乱する可能性があります。新しいウィンドウを開かずにすべてを同じページに保持することは可能ですか?そうすれば、論理的にはある程度同じ結果が得られることがわかります。

これがお役に立てば幸いです。

于 2012-05-08T11:39:06.667 に答える