0

我有以下情况。当用户即将离开网站时,我向他显示一条确认消息,此时我还稍微修改了 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 加载内容,但是...... :(

4

1 回答 1

1

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

我怀疑由于浏览器本质上是被锁定的,它不能像它需要做的图像那样进行异步写入。如果你显示/隐藏,这个异步写入已经完成。

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

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

于 2013-06-24T15:44:34.677 回答