9
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【JavaScript】window.onloadが複数回使えない時の対処法

Last updated at Posted at 2023-02-24

JavaScriptのwindow.onloadが走らない状況に陥ったので
同じことが起きても忘れないよう備忘録として。。

状況

Vue.jsで実装していた内容をJavaScriptで書き直そうとした際に、window.onloadの処理が走らない。

Vue.js(書き直し前)

main.js
const app = createApp({
  mounted() {
    console.log('[Vuejs]ページが読み込まれました');
  }
});

JavaScript(書き直し後)

main.js
window.onload = function () {
  console.log('[JavaScript]ページが読み込まれました');
};

上記のように書き直したらconsole.log('[JavaScript]ページが読み込まれました')が走らない。

原因

window(ブラウザ)に渡したコールバックは上書きされてしまうため
window.onloadは複数回使えない。
(他に読み込んでいたjsでwindow.onloadが実装されていた。)

対処法

window.addEventListenerで実装するように変更。

main.js
window.addEventListener('load', function () {
  console.log('[JavaScript]ページが読み込まれました');
};

参考

9
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?