簡単なプログラムを書いて「turbolinks」について勉強してますが、
java scriptの動作についてどうしても分からない点があります。
rails 6.1.3
ruby 3.0.0
chrome 89.0.4389.72
前提
・ブラウザの「戻る」と「進む」を繰り返す度にturbolinksによって要素が増える際のスクリプトの動作を確認してます。
・スクリプトは<body>内に直接書いてます。
該当のソースコード
リンク元
ruby
1<h3><%= link_to "リンク先へ", tasks_issue1_path %></h3>
リンク先
ruby
1<div id="target"> 2</div> 3 4<script> 5 console.log("script load"); 6 $('#target').append('<b>javascriptから追加しました</b><br>'); 7</script>
ブラウザキャッシュを使った時のconsole.logには1回ずつ出力される
1.一度リンク先に移動(console.logに"script load"が1回出力)
2.ブラウザの「戻る」で戻る
3.ブラウザの「進む」で移動する→要素が増える(console.logに"script load"が1回出力)
対して、リンクを踏んで移動した場合、console.logには2回ずつ出力される
1.一度リンク先に移動(console.logに"script load"が1回出力)
2.ブラウザの「戻る」で戻る
3.リンクをクリックして移動する→要素は増えてない(この時console.logには"script load"が2回出力!?)
※以下繰り返す度、2回、2回と増える
この結果が分からないのです。
・2回目以降のconsole.log出力が、なぜ2回ずつなのか?
・console.logは走ってるのに、なぜ要素追加は実行されないのか?どちらも同じスクリプト内に書いてるのに
どうか教えていただけないでしょうか。
先輩方宜しくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/03/06 03:21
2021/03/06 03:23 編集
2021/03/06 03:24
2021/03/06 03:26
2021/03/06 03:27