3

ユーザーがログアウトしたいかどうかを確認するためのこの現在のスクリプトは、MacのSafariでは完全に機能していません。

function log_out()
{
    ht = document.getElementsByTagName("html");
    ht[0].style.filter = "progid:DXImageTransform.Microsoft.BasicImage(grayscale=1)";
    if (confirm('Are you sure you want to log out?'))
    {

        return true;
    }
    else
    {
        ht[0].style.filter = "";
                return false;
    }
}

ユーザーがログアウトすることを確認した場合は機能しますが、ユーザーが[キャンセル]をクリックしても、引き続きログアウトされます。

何か案は?

前もって感謝します!

4

2 に答える 2

3

log_out呼び出しの前にreturn命令を置きます

<a class="rnavtab" href="?do=logout" onclick="return log_out()">Log out</a>
于 2010-11-21T18:16:30.530 に答える
1

わかりました。ただし、ユーザーが[キャンセル]をクリックしても、ログアウトされたままです。

あなたが投稿したコメントであなたのコードを見た後:

<a class="rnavtab" href="?do=logout" onclick="log_out()">Log out</a>

ユーザーが確認したかどうかに関係なく、?do=logoutがトリガーされます。代わりにハッシュを入れてみてください:

<a class="rnavtab" href="#" onclick="log_out()">Log out</a>

後で次のようにユーザーをリダイレクトできます。

window.location = '?do=logout';
于 2010-11-21T18:17:16.583 に答える