[英]$(window).load Chrome,Safari problem
好的,这是问题所在
$(window).load(function () {
\\Do something
});
和其他变体在 chrom 和 safri 中不起作用。 FF,IE Opera 工作正常我搜索但没有找到任何工作解决方案有人知道如何在页面加载完成后检查 chrome、safari?
如果您想在页面加载时执行某些操作,您可以尝试以下代码之一。
$(document).ready(function(){
//Page loaded
});
要么
$(function(){
//Page loaded
});
编辑:试试这个
window.onload = function(){
//Page loaded
};
或者如果你想使用 jQuery 然后试试这个
$(window).bind('load', function(){
//Page loaded
});
我有一个页面可以在 FF 中正常加载但在 Chrome 中不起作用,因为我有 2 个使用 $(window).load(function() 的脚本,而第二个脚本似乎在图像出现之前执行。
第一个脚本检查丢失的图像并替换错误图像:
$(window).load(function() {
$("img").each(function(){
var image = $(this);
if(image.context.naturalWidth == 0 ||
image.readyState == 'uninitialized'){
$(image).unbind("error").attr(
"src", "assets/img/image_missing.jpg"
);
}
});
});
第二个函数重新排列一行中的元素,以防窗口大小调整(这是一个响应式页面):
$(window).load(function() {
columnConform();
});
当我在 Chrome 中对此使用 debug 时,会执行第一个函数,但是当执行第二个函数时,任何丢失的图像都没有显示。 它们仅在第二个功能完成后出现。
页面首次加载时,未找到“Socketry”的图像,因此 Spanners/Metric/Imp 显示在同一行的正下方。
假设这是正确的,第二个脚本重新对齐行,但是当显示“图像丢失”时,这会强制扳手到下一行。
“图像缺失”应该在行对齐之前显示,在这种情况下,行将正确对齐,就像在 Firefox 中一样。
*我会发布屏幕截图,但我没有 10 名声望 - ggrrrhh! 有时一张图片值 1,000 字... *
猜猜我最好用文字描述页面...
我有 13 张图像显示为 6 行,所以 2 个完整的行和 1 个在第三行。 找不到第 6 个图像,因此第 7 个图像显示在顶行缺失图像符号的正下方,而不是作为第 2 行的第 1 个图像。 第二个脚本对齐行,假设第 7 个图像在顶行,然后第 1 个脚本使“图像丢失”图像出现,这迫使第 7 个图像自行排在第 2 行。 加载所有图像后需要执行第二个脚本。 希望这是有道理的。
window.load
和document.ready
都适合我,这是一个小提琴
我不认为这会回答你的问题,但在我的情况下load()
并没有在Chrome中单独工作,因为我试图加载到<form>
这是另一个里面<form>
Chrome 完全忽略了内部<form>
的存在。
尝试下载未压缩版本的 jQuery 并对其进行调试。
在本地主机上工作时,这可能会发生在某些浏览器中(我在 Opera 和 Chrome 中经历过)。 "ready" 事件似乎在 javascript 有机会添加侦听器之前触发,因此 $(window).ready 永远不会触发。
示例:当页面完全加载(包括图形)时运行函数。
$( window ).load(function() {
// Run code
});
示例:在每次加载图像时将 bigImg 类添加到高度大于 100 的所有图像。
$( "img.userIcon" ).load(function() {
if ( $( this ).height() > 100) {
$( this ).addClass( "bigImg" );
}
});
有关更多信息,请参阅http://api.jquery.com/load-event/ 。
试试这个方法:
$(document).ready(function(){
//Do something
})
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.