试图在window.onbeforeunload上执行javascript

时间:2013-04-26 21:06:23

标签: javascript

我在javascript方面不是很强,但我想要做的很简单,我几乎就在那里,但我不知道如何完成任务。我有一些我在网站上部署的javascript,名为“Feebackify”...它会提示用户提供表格以提供他们访问的反馈。它工作得很好,但要使它工作我用户必须按一个按钮或链接...我不想要这个,我希望javascript在他们试图离开页面时执行...要么去另一个网站页面或退出。我尝试使用以下代码:

 <script type="text/javascript">
     window.onbeforeunload = function () {

         FBY.showForm(4530); 

     }
 </script> 

这是原始脚本:

<script type="text/javascript">
    var fby = fby || [];
    //fby.push(['showTab', { id: '4530', position: 'right', color: '#FF1F3A'}]);
    (function () {
        var f = document.createElement('script'); f.type = 'text/javascript'; f.async = true;
        f.src = '//cdn.feedbackify.com/f.js';
        var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(f, s);

    })();  
</script>

我的代码做了“好事”它至少会在我预期的时候闪现一个表单,但它不会执行脚本......有人可以给我一些指示。谢谢

1 个答案:

答案 0 :(得分:0)

你可以这样做。您可能需要查看window.onbeforeunload以确保您完全理解该事件。

  

摘要

     

窗口即将卸载其资源时触发的事件。   该文档仍然可见,事件仍然可以取消。

function sure(evt) {
    var div = document.createElement("div");

    div.textContent = "Do things before checking the user want to leave, dynamically load your form";
    document.body.appendChild(div);

    // The question that will the user will be asked
    return "Leave page?";
}

window.addEventListener("beforeunload", sure, false);

on jsfiddle