Javascript window.onload跨浏览器不一致?

Javascript window.onload跨浏览器不一致?,javascript,safari,microsoft-edge,onload,Javascript,Safari,Microsoft Edge,Onload,window.onload是否与某些浏览器不一致 我特意利用原生JavaScript编写了一个脚本,没有使用任何库或框架。我知道跨浏览器兼容性可能存在一些问题。但是,至少在边缘浏览器中会出现一些不同的情况 整个页面在webkitChrome中的工作与预期一致,但在Safari中还没有,而且在最新的Firefox中似乎也能完美工作 在微软的边缘浏览器中,它似乎有一个启动问题,或者说,它不是每次在onload触发器上都能很好地启动。如果我对页面进行足够的刷新,它有时会非常有效 有什么可能解释这一点?

window.onload是否与某些浏览器不一致

我特意利用原生JavaScript编写了一个脚本,没有使用任何库或框架。我知道跨浏览器兼容性可能存在一些问题。但是,至少在边缘浏览器中会出现一些不同的情况

整个页面在webkitChrome中的工作与预期一致,但在Safari中还没有,而且在最新的Firefox中似乎也能完美工作

在微软的边缘浏览器中,它似乎有一个启动问题,或者说,它不是每次在onload触发器上都能很好地启动。如果我对页面进行足够的刷新,它有时会非常有效

有什么可能解释这一点?在这种情况下,Edge可能更好,因为我不确定它是否在Safari中工作


改用window.addEventListener:

addEventListener'load',yourFunc,false


您必须将所有其他内容都封装到一个命名函数yourFunc…

您是说如果它没有嵌套在事件侦听器中,那么它可能会工作吗?我会试试这个,到目前为止它还没有在。。。ie.window.addEventListenerload=函数{//here};不,试着这样写:window.addEventListener'load',mainFunc,false;函数mainFunc{..将oninput、onchange等移到这里。}如上所述,我就是这么做的。还是不行。除了onload事件之外,可能还有其他行中的某些内容导致了功能异常。在这一点上,我愿意打赌改用jQuery版本将是最好的解决方案。。。似乎真的很奇怪,它不与更新的事件处理一起工作。介意我把笔抄下来再看深一点吗?
 window.onload = function() {
// if you're savvy enough for it... please check codepen for the full code
    /* automation from input */
wght_input.oninput = function() {
    x = this.value;
    var bodyweight = x;

    // when puts into form input
    this.onchange = function() {
        frmFeed[0].innerHTML = "";
        recc_wght();
        getadd();
        whatsTotal();
        resetButton.click() ;
    };

var kgs = curr_wght_set_amt * kg; //convert lbs lifted to kgs
logs("The highest recorded lift was " + curr_wght_set_amt.toFixed(0) + "lbs or "+ kgs +"kgs");

}; // end active oninput 


}; // end onload function