我注意到我的事件在Chrome与Safari中的触发方式不同。 Firefox(主要)与Chrome的行为相同。然而,我不知何故偶然发现Chrome和Safari似乎在不同时间加载或执行JS。例如,在Chrome上100%工作的代码在Safari中无法使用,因为Chrome会在加载页面之后计算div的高度(例如),Safari会在之前执行此操作。或者,至少我认为这是问题所在。
...
$(window).on('load', function() {
$('.menu-feature-wrapper').each(function(){
menuHeight = $(this).outerHeight();
$(this).find('.col-md-4').css('height', menuHeight);
});
});
...
在这个示例代码段中 - 我上面和下面还有大约200行JS,我不得不用$(document).ready
打包正在运行的Chrome代码(当然,这些代码都包含在$(window).on('load'...
中)在Safari中正确计算高度,即使它在Chrome中按预期运行。
我的问题是:Chrome和Safari之间的JavaScript有什么关系?我是否应该意识到在整个页面加载后需要执行某些事件并且Safari会期望这样做?他们是否真的在不同的时间加载JS,无论我在DOM中包含它们(标题与页脚)?此外,是否有一些地方可以解释这个?我可能只是对谷歌不好,但我发现非常稀少的信息,关于如何在Safari和Chrome以及所有其他浏览器之间处理JavaScript。
提前感谢指针/链接!