0

私は自分のサイトで jquery-1.8.0.min.js を使用しましたが、状況によってはリダイレクトする必要があります。

私はこれを試しました:

$('<div></div>').appendTo('body')
    .html('<div><h4>Some text....</h4></div>')
    .dialog({
        modal: true,
        title: 'Dialog title...',
        zIndex: 10000,
        autoOpen: true,
        width: 'auto',
        resizable: false,
        draggable: false,
        buttons: {
            Ok: function () {
                $(this).dialog("close");
                var loc = window.location;
                var currentURL = loc.protocol + '//' + loc.host + loc.pathname;

                var newUrl = loc.protocol + '//' + loc.host + 'Account/LogOn?ReturnUrl=' + urlencode(currentURL);
                $('<div style="dispaly:none;"></div>').appendTo('<body>').html('<a id="loginredirect" href="' + newUrl + ' "><br /></a>');
                $('#loginredirect').click();
            }
        },
        close: function (event, ui) {
            $(this).remove();
        }
    });

しかし、これは機能しません:-(だから私はこれを試します:

$('<div></div>').appendTo('body')
    .html('<div><h4>Some text....</h4></div>')
    .dialog({
        modal: true,
        title: 'Dialog title...',
        zIndex: 10000,
        autoOpen: true,
        width: 'auto',
        resizable: false,
        draggable: false,
        buttons: {
            Ok: function () {
                $(this).dialog("close");
                var loc = window.location;
                var currentURL = loc.protocol + '//' + loc.host + loc.pathname;

                var newUrl = loc.protocol + '//' + loc.host + 'Account/LogOn?ReturnUrl=' + urlencode(currentURL);
                $(window.location).attr('href', newUrl);
            }
        },
        close: function (event, ui) {
            $(this).remove();
        }
    });

しかし、これもうまくいきません...

どこに問題があるのですか?

ありがとう

編集 1: window.location.hrej = newUrl を試していた場合、FF ErrorConsole に次のように表示されます: min.js

ブラウザはIE、FF、ChromeでnewUrlにリダイレクトしません...

4

3 に答える 3

5

これにはjqueryは必要ありません。試してみてください。

window.location.href = new_url;
于 2012-09-13T13:41:35.933 に答える
1

2 番目の例では、次の行を置き換えます。

$(window.location).attr('href', newUrl);

これのために

window.location.href = newUrl;

それはあなたが望むことをするはずです。

于 2012-09-13T13:44:13.773 に答える
1

newURL/の後に末尾がありませんloc.host

var newUrl = loc.protocol + '//' + loc.host + 'Account/LogOn?ReturnUrl=' + urlencode(currentURL);
window.location.href = newUrl;
于 2012-09-13T13:57:18.460 に答える