我有以下情况。当用户即将离开网站时,我会向他显示一条确认消息,此时我也会稍微修改一下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加载内容,但...... :(
答案 0 :(得分:1)
如果您在隐藏的div中呈现#template HTML而不是将HTML写入#content onbeforeunload,您只需显示/隐藏要显示的卸载内容,该怎么办?
我怀疑由于浏览器基本上已被锁定,因此无法像需要执行的图像那样进行异步写入。如果显示/隐藏,则此异步写入已经完成。
只是一个猜测,但我认为这会有效吗?
编辑:哎呀。我认为你的'不要离开'通知是一个警报,它会锁定。我现在意识到那不是你正在做的事情,所以忽略那一点:)