(2020/09/08追記)
↓のように紹介しましたが、現在はwindow.onloadを使用しなくても動くようになりました。
ブラウザのキャッシュ・・だったのかわかりませんが、もし仮に普通にjsファイルを作成してブラウザとかのキャッシュをクリアして、それでもうまくいかなかったら試してみてください!追記前にご覧になった方はすみませんでした・・
(ここから記事)
メモです!
Lalavel(に限らず)でjsファイルを作成したとき、一度目のアクセスでjsがきかなかったのでメモとして残しておきます
いろんなやり方あるかもしれませんが僕がうまくいった方法を紹介します
初心者向けです!
バージョン laravel7.x
参考【JavaScript】ページ全体が読み込まれた後にスクリプトを実行する方法。
jsファイルはwindow.onloadではじめよう
↑じゃなくてもできるとは思うのですが、うまくいったので
僕はlaravel mixを使ってresouce以下のjsファイルに
$(function(){
//処理
})
こうやって書いてたのですが、一度目のアクセス時にjsファイルの内容が反映されず、リロードしたら反映される状態になりました。
※この書き方だと、htmlファイルなどが読み込まれる前に実行されてしまうらしい
前にrailsで同じ現象になって、その時は
document.addEventListener("turbolinks:load", function() {
//処理
})
これでうまくいったのですが、今回はうまくいかず(ライブラリが必要だったのかな?)
で、今回は上記の参考にさせていただいた記事のように
window.onload = function(){
//処理
};
としたらうまく動いてくれました
htmlファイルに直接jsを書くときはあまり意識しなくてもいいと思いますが、別にjsファイルを作成する際などは参考としてみてください