on unload事件阻止渲染图像?

时间:2013-06-24 15:34:12

标签: javascript onbeforeunload

我有以下情况。当用户即将离开网站时,我会向他显示一条确认消息,此时我也会稍微修改一下DOM。尽管事实上我修改了DOM,但是图像(即使它们被预加载也不会出现)。 我也尝试过使用Ajax但看起来好像在那一刻所有连接都被阻止了?

这是我的示例代码:

<div id="content">
    my original content...
</div>

<button id="trigger">click</button>

<script type="text/html" id="template">
    <div>
        <img src="/css/images/dmbtest.gif"/>
    </div>
</script>

<script type="text/javascript">
    $(function(){
        window.onbeforeunload = function() {
            $('#content').html($('#template').html());
            window.onbeforeunload = null;
            return "some cool message";
        }
    });
</script>

有什么建议吗?也希望能够通过Ajax加载内容,但...... :(

1 个答案:

答案 0 :(得分:1)

如果您在隐藏的div中呈现#template HTML而不是将HTML写入#content onbeforeunload,您只需显示/隐藏要显示的卸载内容,该怎么办?

我怀疑由于浏览器基本上已被锁定,因此无法像需要执行的图像那样进行异步写入。如果显示/隐藏,则此异步写入已经完成。

只是一个猜测,但我认为这会有效吗?

编辑:哎呀。我认为你的'不要离开'通知是一个警报,它会锁定。我现在意识到那不是你正在做的事情,所以忽略那一点:)