我需要在加载我的域和子域上的所有资源时执行一些脚本,所以我这样做了:
$(window).load(function(){
// al my functions here...
}
问题是有些外部资源(不在我的域和子域中)有时需要更长时间才能加载。有没有办法从加载事件中排除外部资源?
编辑: 我希望做这样的事情:
$(window).not(".idontcare").load(function()
但是没用
最佳答案
我猜你的外部资源依赖于 src
属性。
如果是这样,您可以在您的页面源代码中设置您不想等待的资源的 src
属性,不是 src
而是 external_src
.
然后你可以很容易地做到:
$(document).ready(function(){
$(window).load(function(){
// all your functions here...
});
$('[external_src]').each(function() {
var external_src = $(this).attr("external_src");
$(this).attr("src", external_src); // now it starts to load
$(this).removeAttr("external_src"); // keep your DOM clean
//Or just one line:
//$(this).attr("src", $(this).attr("external_src")).removeAttr("external_src");
});
});
这样,只要 DOM 准备就绪,外部资源就应该开始加载,而无需等待整个窗口加载。
关于javascript - jquery:从 $(window).load() 中排除外部资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13028821/