自动onload弹出窗口,而不使用body标签中的onload属性

时间:2011-05-03 14:48:32

标签: javascript popup

你可以给点链接吗?当我google所有垃圾网站出现时!

3 个答案:

答案 0 :(得分:0)

您可以使用load对象上的window事件执行此操作:

DOM0风格:

window.onload = function() {
    alert("But please don't.");
};

或使用DOM2方法:

if (window.addEventListener) { // DOM2 standard
    window.addEventListener('load', handler, false);
}
else if (window.attachEvent) { // Fallback for older IE versions
    window.attachEvent('onload', handler);
}
function handler() {
    alert("But again, please don't.");
}

正如他们在http://pastie.org所说的那样,请在你寻求拯救人类的过程中使用这些信息,而不是用来接管世界的邪恶阴谋。

答案 1 :(得分:0)

目前还不是很清楚你是否只是不想使用onload属性,只是不想使用body元素,或者你根本不想使用onload事件。

T.J。 Crowders回答给出了一些使用事件监听器的好例子,这是最好的方法。

如果由于某种原因你根本不想使用onload事件,你可以在标记之前的HTML中添加一个脚本标记,并在其中添加一个警告。你不应该为生产中的任何东西做那些......而且它不会像body.onload那样完全相同......

答案 2 :(得分:0)

我收到了代码!

我正在复制粘贴确切的代码......

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.0/jquery.min.js" type="text/javascript"></script>   
<script src="http://dinhquanghuy.110mb.com/jquery.cookie.js" type="text/javascript"></script>
<script type="text/javascript">
         var popupStatus = 0;

//loading popup with jQuery magic!
function loadPopup(){
    centerPopup();
    //loads popup only if it is disabled
    if(popupStatus==0){
        $("#backgroundPopup").css({
            "opacity": "0.7"
        });
        $("#backgroundPopup").fadeIn("slow");
        $("#popupContact").fadeIn("slow");
        popupStatus = 1;
    }
}

//disabling popup with jQuery magic!
function disablePopup(){
    //disables popup only if it is enabled
    if(popupStatus==1){
        $("#backgroundPopup").fadeOut("slow");
        $("#popupContact").fadeOut("slow");
        popupStatus = 0;
    }
}

//centering popup
function centerPopup(){
    //request data for centering
    var windowWidth = document.documentElement.clientWidth;  
    var windowHeight = document.documentElement.clientHeight;  
    var windowscrolltop = document.documentElement.scrollTop; 
    var windowscrollleft = document.documentElement.scrollLeft; 
    var popupHeight = $("#popupContact").height();
    var popupWidth = $("#popupContact").width();
    var toppos = windowHeight/2-popupHeight/2+windowscrolltop;
    var leftpos = windowWidth/2-popupWidth/2+windowscrollleft;
    //centering
    $("#popupContact").css({
        "position": "absolute",
        "top": toppos,
        "left": leftpos
    });
    //only need force for IE6

    $("#backgroundPopup").css({
        "height": windowHeight
    });

}


//CONTROLLING EVENTS IN jQuery
$(document).ready(function(){
    if ($.cookie("anewsletter") != 1) {    

        //load popup
        setTimeout("loadPopup()",5000);    
    }        
    //CLOSING POPUP
    //Click the x event!
    $("#popupContactClose").click(function(){
        disablePopup();
        $.cookie("anewsletter", "1", { expires: 7 });
    });
    //Click out event!
    $("#backgroundPopup").click(function(){
        disablePopup();
        $.cookie("anewsletter", "1", { expires: 7 });
    });
    //Press Escape event!
    $(document).keypress(function(e){
        if(e.keyCode==27 && popupStatus==1){
            disablePopup();
            $.cookie("anewsletter", "1", { expires: 7 });
        }
    });

});
</script>