gpt4 book ai didi

javascript - 停止通过 JavaScript 或 jQuery 在 hashchange 事件上加载图像

转载 作者:数据小太阳 更新时间:2023-10-29 05:59:29 24 4
gpt4 key购买 nike

我正在使用 jQuery BBQ: Back Button & Query Library插件来创建一个页面,当点击一个链接时,它会引入动态内容。单击链接时,哈希值会更改,新内容会被拉入(因此禁用单击 href 的“默认”操作。)

那部分工作得很好,但有一个问题。

我的问题示例


假设“主页”页面有一个 DIV,里面有一些图像和一个链接列表......

  • 第一页
  • 第二页
  • 第三页

图像可能需要一段时间才能加载,同时用户通常不会等待它们完全加载并单击“第一页”链接。

这会清除“主页”页面的内容并加载“第一页”内容。那很好用。

问题是来自“主页”页面的图像仍在浏览器中加载,即使用户已经离开“主页”页面。

我知道发生这种情况是因为页面实际上并没有改变,我正在使用 BBQ 插件的 hashchange hack,但我想知道 JavaScript 中是否有一种方法可以告诉当前正在加载的所有图像 < em>停止 hashchange 事件?

??示例代码就像...


$(window).bind('hashchange', function () {

//code to stop images from loading

// now load in new HTML content

});

最佳答案

我在 WebKit(Chrome/Safari)、Firefox 和 IE 中测试了这个解决方案,它似乎有效。

对于大多数浏览器,我使用了一个使用 window.stop(); 的函数,如果浏览器不支持 window.stop(),则使用 IE 自己的方法

在这里查看更多信息:https://developer.mozilla.org/en/DOM/window.stop

因此,对于支持它的浏览器(Firefox、WebKit),请使用:

window.stop();

对于 IE 使用:

document.execCommand("Stop", false);

但是要小心......

这基本上就像按下浏览器中的“停止”按钮,因此当前正在下载的所有内容都会停止,而不仅仅是图像(就像我想要的那样。)

所以,里面...

$(window).bind('hashchange', function () {

});

这是我使用的函数......

function stopDownloads() {
if (window.stop !== undefined) {
window.stop();
}
else if (document.execCommand !== undefined) {
document.execCommand("Stop", false);
}
}

关于javascript - 停止通过 JavaScript 或 jQuery 在 hashchange 事件上加载图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3146200/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com