我在我们的网站上有一些跟踪像素,如果他们的服务器出现故障或速度变慢,我想防止它们影响我们的用户体验。指定浏览器应尝试加载给定 img 的最长时间的最简单方法是什么 - 即尝试 100 毫秒然后放弃?(我宁愿不跟踪给定的客户,也不愿让第三方服务器上的服务器挂起影响我们的网站)。
问问题
8475 次
5 回答
3
<img>
您可以使用 JavaScript插入并setTimeout()
在 100 毫秒后将其删除。
jQuery 示例:
var tracker = $("<img>", { src: trackingUrl }).appendTo(document.body);
setTimeout(function() { tracker.remove(); }, 100);
于 2012-05-01T15:30:15.203 回答
2
您应该在文档准备好时加载它们。或在最后一行(在 html 中)。这样 - 它不会损害用户体验。文档就绪也可以与 jQuery 一起使用。
但你可以使用window.load。
通常(并非总是) - 所有脚本都应位于页面末尾。
如果你想强制超时 KILL :
创建一个img
标签。
将load
事件附加到 img(此函数将设置标志:已下载=1;)
设置源。
使用setTimeout
函数你会杀死 img。
如何 ?
如果在 X MS 之后下载的 ==0 则杀死。
所以:每个加载事件(来自 IMg)都在设置一个标志(下载=1)。
你的超时功能什么都不在乎!!!在 x MS 之后,她会杀死 img - 只有在下载 ==0 的情况下。
于 2012-05-01T15:28:10.460 回答
0
您必须使用 javascript 来执行此操作,HTML/HTTP 没有任何本机可以在页面基础上执行此操作。谷歌搜索“HTML IMG 超时”。
于 2012-05-01T15:30:52.140 回答
0
作为img.parentNode.removeChild(img)
并非所有人img
都有容器。
var img = new Image()
img.src = '...third-party server...'
setTimeout(function() {
img.removeAttribute('src')
}, 100)
于 2018-09-03T06:36:49.520 回答
-1
您可以在 IMG 标记中调用服务器进程。让它担心负载超时。
于 2012-05-01T15:29:53.163 回答