問題タブ [turbolinks]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ruby-on-rails - Rails 4: Google マップが表示されない
Rails 4 アプリで簡単な Google マップを表示しようとしています。動作するようになるまで、コードを静的に含めることにしました。私の _head.html.erb パーシャルには、次のものがあります。
次に、別のビューに、次のことを行う _google_map.html.erb という部分があります。
ソースを見ると、js と div が適切にページに出力されています。ただし、地図は表示されません。私のapplication.jsファイルには次のものがあることに注意してください
地図が表示されない理由を教えてください。ありがとう!
javascript - SyntaxError:coffeescriptとターボリンクで予期しないCOMPARE
私はこの例に取り組んでいます:
サーバーを実行して /events URL にアクセスしようとすると、次のエラーが表示されます。
エラーは、私のapplication.jsの次の行を指しています:
これが私のapplication.js全体です
このエラーが何を意味するのか、なぜこのエラーが発生するのか正確にはわかりません。私はjavascriptとcoffeescriptに非常に慣れていません。
ruby-on-rails - ターボリンクにより、href="#" を含むリンクがページの更新をトリガーする
私のページには非常に簡単なリンクがあります。<a href="#">My link</a>
. ページの更新が発生します。「turbolinks」を削除すると、更新が発生しなくなります。
私はこれまで、常にハッシュ フラグメントを含むリンクを使用してきました。非常に基本的なことを長い間見逃していない限り、これがどのようにリフレッシュを引き起こすのか理解できません.
JS イベント ハンドラーがアタッチされていません。
何か案は?
関係ないかもしれませんが、私は jQuery、Twitter-Bootstrap、Ruby on Rails を使用しています。
これまでの手がかり:
- ターボリンクを削除すると、リンクは適切に動作します (ページの更新は発生しません)。
- URL として「#」を含むリンクにより、アプリのすべてのページでリロードが発生します。
- 「#hasfragmenttext」を含むリンクは 1 回の更新を引き起こし、ページの URL は「mypage#hasfragmenttext」になります。それ以上クリックしてもページは更新されません... うーん。
ruby-on-rails - 「戻る」ボタンをクリックしても変更前イベントがトリガーされない
環境:
rails4.01 + turbolinks2.0 + jquery
ブラウザ:
Chrome、Safari 7.0
目標:
ユーザーがフォーム ページのコンテンツを変更して (保存されずに) 離れると、プロンプトが表示されます。
私の解決策
問題:
ブラウザ ページで他のリンクをクリックすると、うまく機能します。「戻る」ボタンをクリックすると、ブラウザに属し、page:before-change
トリガーされません。この場合の問題を修正する方法。
javascript - ターボリンク: body タグ内の JavaScript コードが正常に実行されない
ウェブサイトに Turbolinks の機能を追加しようとしていますが、現在問題に直面しています。特定のページのページ読み込み時に実行されたセクションにあったタグscript
があります。head
これらのスクリプトは、特定のページでのみ 1 回実行する必要があります。Turbolinks を試したところ、これらのスクリプトは、最初のページ (サーバーから読み込まれた最初のページ) に存在しない限り、まったく実行されませんでした。そこで、スクリプトをbody
HTML ページのセクションの最後に移動しました。ここに私の発見があります:
1- 通常のscript
タグ:
これにより、コードが複数回実行されました。そのため、一度ページをロードすると正しく実行されますが、ページから離れてから戻ってくると、コードは 2 回実行されます。それをもう一度行うと、3回実行されます...など。コードはVM
、5桁で始まり5桁で終わるソースから実行されていVM29823
ます。これらのスクリプトは、別のページに移動している場合でも実行されます。たとえば、スクリプト SA を使用してページ A にアクセスすると、SA は他のページ B および C のオンロードで実行されます。もちろん、これは望ましくありません。script
body
2-script
タグdata-turbolinks-eval=false
:
その場合、script
そのスクリプトが最初のページ (Web サイトの最初の読み込み) から呼び出された場合にのみ実行されます。これは、本文ではなくヘッド セクションにスクリプトを追加するのと同様の動作です。
スクリプトを 1 回だけ、対応するページに対して実行する必要があります。
助けてください。
jquery - レール、ターボリンク、スピナー
クリック時にテキストリンクをスピナーに置き換えようとしています。私はこれを持っています:
しかし、.spinner クラスとのすべてのリンクがスピナーを取得することは明らかです。クリックしたリンクのみを交換し、スピナークラスがある場合にのみ交換したい。
助言がありますか?
javascript - Rails: ページのトップに戻るターボリンク
レールにターボリンクを使用しています。リンクをクリックするたびに、ページが前のページのスクロール位置までスクロールダウンします。下にスクロールしないように (ページの上部にとどまるように)、すべてのページをロードする必要があります。以前のスクロール位置を記憶するためにターボリンクは必要ありません。では、スクロール位置を上部 (0,0) にしてページを強制的にロードするにはどうすればよいでしょうか?
私はもう試した
しかし、私はおそらくこの権利を拘束していません。
javascript - 「jquery-ujs は既にロードされています!」を引き起こすターボリンク エラー
カスタムJavascriptを含まない新しいRails 4アプリがあります-フォルダーapp/assets/javascripts
はすべて空です(を除く)。lib/assets/javascripts
vendor/assets/javascripts
app/assets/javascripts/application.js
アプリをクリックするjquery-ujs has already been loaded!
と、JS コンソールにエラーが表示され続けます。「戻る」ボタンを押すたびに発生し、通常のリンクをクリックしたときに発生することもあります (一貫して発生させることはできませんが)。
アプリケーション.js:
application.js からターボリンクを削除すると、エラーが発生しなくなります...そのため、ターボリンクが原因のようです。
これはターボリンクのバグですか、それとも何か間違っていますか?
これが私のGemfileです:
application.jsの s の順序を変更しても、require
役に立たないようです。
html - Turbolink を使用した Facebook Twitter ボタン
2 つの共有ボタンを実装しようとしています。Facebook Like Button
とTwitter Share Button
. _
しかし、私はターボリンクに問題があります..調べた後、興味深い記事を見つけました。
ソリューションは、application.html.erb から初期スクリプトを削除し、以下のファイルを含めることで問題が解決すると述べています。
同じことがTwitter の問題にも当てはまります。
私はそれをしましたが、何らかの理由で私の問題は解決しません..誰かが私がこれを正しくするのを手伝ってくれますか?
ruby-on-rails - ナビゲーションで Facebook と Twitter のウィジェットが消える (Rails)
私はfb-like-box
とtwitter-timeline
、公式の facebook ページと twitter ウィジェットを持っています。ただし、実際のナビゲーション (サイドバーのリンクは ajax ロードを行います) では、たとえばロゴをクリックすると、これら 2 つのウィジェットは空中に消えます。
ページを更新すると、ウィジェットが再び期待どおりに表示されます。