なんらかの理由で、ブラウザーがそのセッションで初めて起動されたときに、IE9 が JavaScript コードをオンロードで実行していません。ユーザーがページを更新した後にのみオンロードを実行するようです。また、デバッグ コンソールが開いているときにも JavaScript が実行されます。
ブラウザを開いた後に JavaScript がオンロードで実行されるようにするにはどうすればよいですか? これはIE9の単なるバグですか?
理解できるようにもう一度言います:新しいブラウザ セッションを起動した後にサイトにアクセスした場合、コードは実行されません。新しいタブでサイトを開くか、ページをリロードするか、デバッグコンソールを開くと、コードは実行されます
これは、スクリプトのオンロードを実行するために使用する関数です (通常のブラウザーでは正常に動作します)。
(function (i) {
var u = navigator.userAgent;
var e = /*@cc_on!@*/
false;
var st = setTimeout;
if (/webkit/i.test(u)) {
st(function () {
var dr = document.readyState;
if (dr == "loaded" || dr == "complete") {
i()
} else {
st(arguments.callee, 10);
}
}, 10);
} else if ((/mozilla/i.test(u) && !/(compati)/.test(u)) || (/opera/i.test(u))) {
document.addEventListener("DOMContentLoaded", i, false);
} else if (e) {
(function () {
var t = document.createElement('doc:rdy');
try {
t.doScroll('left');
i();
t = null;
} catch (e) {
st(arguments.callee, 0);
}
})();
} else {
window.onload = i;
}
})(init); //init is the function to call onload