Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Chrome与SafariJavaScript_Javascript_Jquery_Google Chrome_Safari - Fatal编程技术网

Chrome与SafariJavaScript

Chrome与SafariJavaScript,javascript,jquery,google-chrome,safari,Javascript,Jquery,Google Chrome,Safari,我注意到我的事件在Chrome和Safari中的触发方式不同。Firefox(很大程度上)与Chrome的作用相同。然而,我不知何故偶然发现,Chrome和Safari似乎在不同的时间加载或执行JS。例如,在Chrome上100%运行的代码在Safari中不起作用,因为Chrome会在页面加载后计算div的高度(例如),Safari会在加载之前计算div的高度。或者,至少我认为这是问题所在 ... $(window).on('load', function() { $

我注意到我的事件在Chrome和Safari中的触发方式不同。Firefox(很大程度上)与Chrome的作用相同。然而,我不知何故偶然发现,Chrome和Safari似乎在不同的时间加载或执行JS。例如,在Chrome上100%运行的代码在Safari中不起作用,因为Chrome会在页面加载后计算div的高度(例如),Safari会在加载之前计算div的高度。或者,至少我认为这是问题所在

    ...
    $(window).on('load', function() {
      $('.menu-feature-wrapper').each(function(){
        menuHeight = $(this).outerHeight();
        $(this).find('.col-md-4').css('height', menuHeight);
      });
    });
    ...
在这个示例代码片段中——上面和下面还有大约200行JS,我不得不用
$(document.ready
当然)和
$(window.on('load')…
在Safari中正确地计算高度,尽管它在Chrome中的作用与预期一样

我的问题是:Chrome和Safari之间的javascript是如何处理的?我是否应该意识到某些事件需要在整个页面加载之后执行,Safari会期望这样做?它们是否真的在不同的时间加载JS,而不管我将它们包含在DOM的何处(页眉与页脚)?此外,有什么地方可以解释这一点吗?我可能不擅长谷歌,但我发现关于Safari和Chrome以及所有其他浏览器之间如何处理JavaScript的信息非常稀少

提前感谢您的指点/链接