http://www.igxe.com/这个网站完全加载完后,点退出.会弹出一个提示框,然后马上弹出一个LIVECHAT的页面(LIVECHAT可以随便是个网页),然后以个确定取消,确定就离开了.取消就进入了livechat这个页面,这时,整个网站除了弹出的这个LIVECHAT以外是不可点的.变灰了.要关掉LIVECHAT还可以点.大家帮帮小弟.分不够再加.

解决方案 »

  1.   

    我查看它网页源文件,没看到它在body里有加onunload之类的事件.是怎么实现的呢?
      

  2.   

    找一找onbeforeunload之类的事件
      

  3.   

    onbeforeunload
    也没看到啊.而且我主要想要实现它的那个效果,谁来解答下啊
    分不够再加,加分要24小时后,我在线等,希望大家帮帮
      

  4.   

    肯定不是onbeforeunload跟onunload,我用FF并没有你说的效果,IE才有,应该是activex控件
      

  5.   


    FF有,你等页面完全加载完后再关..我的FF3.5.1有这个效果
      

  6.   

    查看源代码看它下面有一段是这样的: <script language="javascript" src="https://www.upsellit.com/upsellitJS4.jsp?qs=201241262227328336333326272280328325346291327335274314330299&siteID=3384"></script>在这个 upsellitJS4.jsp 里有关闭事件
      

  7.   

    if (!properClickThrough && !yBasedSuppress) { window.onbeforeunload = null; showChat(); alert("Wait! A live agent would like to talk to you about last minute savings. Please hit 'Cancel' on the next window to remain on this page..."); return "\n\nPress 'CANCEL' below to chat...\n\n"; } } 
      

  8.   


    function regularChatDisplay(e) { 
    USIdone = true; 
    if (USItimerID != '') clearTimeout(USItimerID); 
    var yBasedSuppress = false;
    if (!properClickThrough && !yBasedSuppress) {
    window.onbeforeunload = null; showChat();
    alert("Wait! A live agent would like to talk to you about "+
      "last minute savings. Please hit 'Cancel' on the next"+
      " window to remain on this page..."); 
    return "\n\nPress 'CANCEL' below to chat...\n\n"; 


    window.onbeforeunload = regularChatDisplay; 
      

  9.   

    THX,但是我还有个疑问就是onbeforeunload这个事件的话,我点页面上链接到自己网站内容的页面也会触发.比如导航栏点击也触发.这个怎么判断?
      

  10.   

    onbeforeunload:
    Close the current browser window. 
    Navigate to another location by entering a new address or selecting a Favorite. 
    Click the Back, Forward, Refresh, or Home button. 
    Click on an a that refers the browser to another Web page. 
    Invoke the a?A HREF="../methods/click.html">click method. 
    Invoke the document?A HREF="../methods/write.html">write method. 
    Invoke the document?A HREF="../methods/open_1.html">open method. 
    Invoke the document?A HREF="../methods/close_1.html">close method. 
    Invoke the window?A HREF="../methods/close_0.html">close method. 
    Invoke the window?A HREF="../methods/open_0.html">open method, providing the possible value _self for the window name. 
    Invoke the window?A HREF="../methods/navigate.html">navigate or NavigateAndFind method. 
    Invoke the location?A HREF="../methods/replace.html">replace method. 
    Invoke the location?A HREF="../methods/reload.html">reload method. 
    Specify a new value for the location?A HREF="../properties/href_3.html">href property. 
    Submit a form to the address specified in the action attribute via the input type=submit control, or invoke the form?A HREF="../methods/submit.html">submit method. 
      

  11.   

    事件监听,一种模式.应该是系统javascript库已经为window加载好了.
    onbeforeunload 是一个事件的触发入口.
    触发对象是已经注册好的上面那些事件.注:onbeforeunload并不是事件,只是个指向监听器的句柄而已.
      

  12.   

    那就按照上面的例子做吧,
    首先监听到有响应onbeforeunload的事件时候就去执行regularChatDisplay方法
    这里showChat是一个创建蒙板并输出div窗口的方法
    以后的看着弄吧
      

  13.   

    这就是为什么引用jsp作为script输出的关键了
      

  14.   


    太感谢你哒.zowell,也谢谢其他所有回帖帮助的,我现在去做,要是有困难还会回来问的.分空2天加到300再给.谢谢谢各位.特别感谢!
      

  15.   

    function regularChatDisplay(e) { 
    USIdone = true; 
    if (USItimerID != '') clearTimeout(USItimerID); 
    var yBasedSuppress = false;
    if (!properClickThrough && !yBasedSuppress) {
        window.onbeforeunload = null; showChat();
        alert("Wait! A live agent would like to talk to you about "+
              "last minute savings. Please hit 'Cancel' on the next"+
              " window to remain on this page..."); 
        return "\n\nPress 'CANCEL' below to chat...\n\n"; 


    window.onbeforeunload = regularChatDisplay; 通过这个全局变量来控制,他的这个功能只有在关闭浏览器,地址栏输入地址是触发;
    也就是说初始时properClickThrough=false,碰到以上两种情况properClickThrough =true
      

  16.   

    <script type="text/javascript">
    var docEle = function() 
    {
        return document.getElementById(arguments[0]) || false;
    }function openNewDiv(_id) 
    {
        var m = "mask";
        if (docEle(_id)) document.body.removeChild(docEle(_id));
        if (docEle(m)) document.body.removeChild(docEle(m));
        
        //mask遮罩层    var newMask = document.createElement("div");
        newMask.id = m;
        newMask.style.position = "absolute";
        newMask.style.zIndex = "1";
        _scrollWidth = Math.max(document.body.scrollWidth,document.documentElement.scrollWidth);
        _scrollHeight = Math.max(document.body.scrollHeight,document.documentElement.scrollHeight);
        newMask.style.width = _scrollWidth + "px";
        newMask.style.height = _scrollHeight + "px";
        newMask.style.top = "0px";
        newMask.style.left = "0px";
        newMask.style.background = "#33393C";
        newMask.style.filter = "alpha(opacity=40)";
        newMask.style.opacity = "0.40";
        document.body.appendChild(newMask);
        
        //新弹出层    var newDiv = document.createElement("div");
        newDiv.id = _id;
        newDiv.style.position = "absolute";
        newDiv.style.zIndex = "9999";
        newDivWidth = 400;
        newDivHeight = 200;
        newDiv.style.width = newDivWidth + "px";
        newDiv.style.height = newDivHeight + "px";
        newDiv.style.top = (document.body.scrollTop + document.body.clientHeight/2 - newDivHeight/2) + "px";
        newDiv.style.left = (document.body.scrollLeft + document.body.clientWidth/2 - newDivWidth/2) + "px";
        newDiv.style.background = "#EFEFEF";
        newDiv.style.border = "1px solid #860001";
        newDiv.style.padding = "5px";
        newDiv.innerHTML = "弹出层内容 "; 
        document.body.appendChild(newDiv);
        
        //弹出层滚动居中    function newDivCenter()
        {
            newDiv.style.top = (document.body.scrollTop + document.body.clientHeight/2 - newDivHeight/2) + "px";
            newDiv.style.left = (document.body.scrollLeft + document.body.clientWidth/2 - newDivWidth/2) + "px";
        }
        if(document.all)
        {
            window.attachEvent("onscroll",newDivCenter);
        }
        else
        {
            window.addEventListener('scroll',newDivCenter,false);
        }
        
        //关闭新图层和mask遮罩层    var newA = document.createElement("a");
        newA.href = "#";
        newA.innerHTML = "关闭";
        newA.onclick = function() 
        {
            if(document.all)
            {
                window.detachEvent("onscroll",newDivCenter);
            }
            else
            {
                window.removeEventListener('scroll',newDivCenter,false);
            }
            document.body.removeChild(docEle(_id));
            document.body.removeChild(docEle(m));
            return false;
        }
        newDiv.appendChild(newA);
    }
    </script>
    <body>
    <a onClick="openNewDiv('newDiv');return false;" style="cursor:pointer">qifei弹层</a>
    <br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
    <br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
    <br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
    <br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
    <a onClick="openNewDiv('newDiv');return false;" style="cursor:pointer">qifei弹层</a>
    <br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
    <br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
    <br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
    <br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
    <a onClick="openNewDiv('newDiv');return false;" style="cursor:pointer">qifei弹层</a>
    </body>