0

誰か助けてくれるかな?

時間の遅れを伴うポップ オープン ウィンドウ スクリプトを作成することができました。最初の訪問時に開く必要があり、3 か月間は開きません。

私は完全に道に迷っており、今日も昨日も一日中インターネットを探し回っています。私はJavascriptとCookieが初めてです。

前もって感謝します。ソール

ポップ オープン ウィンドウのスクリプトは次のとおりです。

<script type="text/javascript">
function start(theURL, winName,w,h) {
var left = (screen.width/2)-(w/2);
var top = (screen.height/2)-(h/2);
var targetWin = window.open (theURL, winName, 'toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=no, resizable=no, copyhistory=no, width='+w+', height='+h+', top='+top+', left='+left);
} 
setTimeout(start, 1*1000, 'pop_up.html', 'pop-up-title',200,100);
</script>
4

1 に答える 1

1

私のやり方は非常に大雑把ですが、ページが読み込まれると、Cookie が存在するかどうかが表示されます。たとえば、私の Cookie は CookieDisplay と呼ばれます。次の方法で確認します。

 var mycookie= getCookie("CookieDisplay");
        if (mycookie== null ){

            start();
        }


function getCookie(c_name) {
    var i, x, y, ARRcookies = document.cookie.split(";");
    for (i = 0; i < ARRcookies.length; i++) {
        x = ARRcookies[i].substr(0, ARRcookies[i].indexOf("="));
        y = ARRcookies[i].substr(ARRcookies[i].indexOf("=") + 1);
        x = x.replace(/^\s+|\s+$/g, "");
        if (x == c_name) {
            return unescape(y);
        }
    }
}

ページが読み込まれ、Cookie が存在する場合は、ウィンドウを読み込まないでください。Cookie が存在しない場合は、start() 関数を実行します。start() 関数内のどこかで cookieDisplay Cookie を作成するため、次のラウンド トリップで、ページのロード時にチェックが行われ、Cookie が検出され、ウィンドウが開きません Cookie の設定例は次のとおりです。

 function setCookie(c_name, value, exdays) {
    var exdate = new Date();
    exdate.setDate(exdate.getDate() + exdays);
    var c_value = escape(value) + ((exdays == null) ? "" : "; expires=" +                 exdate.toUTCString());
    document.cookie = c_name + "=" + c_value;
}

新しい Cookie 法に関しては、EU にいる場合は注意してください。

于 2012-04-25T14:25:06.380 に答える