問題タブ [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 アナリティクス トラッキング コードとターボ リンクを実装する最善の方法を考えています。通常のスニペットは機能しますか? このための宝石も見ましたが、それが何をするのかわかりません。
ruby-on-rails - jQuery を Turbolinks で動作させる
を使用するRails 4アプリがありますTurbolinks
。私の理解では、Turbolinks
Turbolinks は新しいページをロードせず、新しい要素のみを取得するため、jQuery コードが壊れます。
したがって、新しいページに移動しても がトリガーされない場合がありますが、.ready
常に がトリガー.page:load
されるため、新しい jQuery コードは初期化されません。
jQuery コードがたくさんあるので、Turbolinks と互換性があるように jQuery コードを変更したくありません。
.ready
イベントを上書きして含めるように、私のapplication.jsにjavascriptコードを追加することは可能page:load
ですか? どうすればいいですか?
ruby-on-rails - Turbolinks はバインディングを乗算します
ブラウザで戻る/進むボタンを使用すると、Turbolinks がイベントを複数回バインドするという問題があります。document.on() イベントを書いている方法ではないことを確認するための簡単なスクリプトがあるので...
リンクをクリックすると 1 回起動します。前後 (または別の Turbolink リンク) をクリックすると、2 回起動します。次回は何度も発火し、成長し続けます。これは、jQuery と Turbolinks 以外のマニフェスト ファイルにある唯一のものです。ターボリンクがイベント バインディングを複製しないようにするにはどうすればよいですか?
ruby-on-rails - 間違ったアセットがロードされ、アプリケーションのレイアウトをレンダリングする
私は資産に関して一種の奇妙な問題を抱えています。この方法でコントローラー固有のアセットを含めようとしているapplication.html.erbで
application.jsは次のようになります。
General
フォルダーには、いくつかの一般的な JS ファイルが含まれています。アプリケーションは 2 つのコントローラーを使用します:Index
およびProfiles
(ルート ルートは "index#index")。ある時点で、Rails は間違った方法でアセットをロードし始めます: インデックス ページprofiles.js
がロードされindex.js
、/profiles/new にロードされます。この問題は、navbarを押しindex
たりリンクしたりした場合にのみ発生します。create profile
このページを別々のタブで開いたり、Ctrl+を使用してページをリロードしたりすることに問題はないようRです。それで、ターボリンクの問題だと思いますか?
javascript - リンクをクリックして新しいページをロードするたびに、追加のアセットのロードを停止するにはどうすればよいですか?
プロジェクトのリンクをクリックすると、アセットの追加パッケージが取得されます。クリックごとに +1 アセットの追加パッケージが得られます。10 回のクリック = アセットの 10 個のコピー。(10 個の画像、10 個の css ファイル、1 個の代わりに 10 個の js ファイル)。私のjqueryイベントはすべて10回トリガーされました。どこで解決策を探すべきかさえわかりません。どんな助けにも感謝します。
私のapp.js
============
いくつかの実験(プロジェクトからすべてのjsを削除しました)の後、問題はレールキャッシングにあるようです。クリックするたびに、ブラウザーがアセットの新しいパッケージをダウンロードするように強制されるためです。
============
私の問題はターボリンクの宝石にあることがわかりました。毎回アセットをキャッシュしてから、アセットの新しいパッケージをダウンロードします。しかし、どうすればこれを修正できますか?
javascript - Rails 4 で Javascript が表示されない (ハイチャート)
単純な Rails アプリケーションに Highcharts を含めましたが、問題なく動作します。しかし、より複雑なRailsアプリケーションで同じことをJavascriptコードで行ったとき、チャートは表示されません。
これが私がこれまでにしたことです:
Gemfile
アプリケーション.js
show.html.erb
私が何を間違えたのか誰か知っていますか?Googleは、ターボリンクと関係があるかもしれないと言っていますが、他のアプリケーションでも機能しません...
そして、簡単な 2 番目の質問です。このコードを channel.js.coffee に追加して、このページに js がないようにするにはどうすればよいですか? 前もって感謝します!
ruby-on-rails - Rails レイアウトの動的レンダリング
最も基本的なレベルで、左側と右側のパネルの 2 つのパネルで構成される Ruby on Rails アプリケーションがあります。私が望むのは、これをレイアウトとして使用し、コントローラーで のようにレンダリングできるようにすることrender <view_name>, <right or left panel>
です。これにより、ターボリンクと組み合わせて、左側または右側のパネルのみが動的に作成されます。
インターネットを検索しましたが、私のような例は見つかりませんでした。これは実行可能だと確信していますが、どうすればよいですか?
編集: Android の chrome で実行できるはずです。1 つの解決策は、最初のリクエストですべてのビューをレンダリングすることです。リンクをクリックすると、パネルが非表示になり、表示されますが、これは問題ないと思います。ご意見はありますか?
javascript - Railsターボリンクonerror javascript
画像のリンクが切れている(404が見つからない)場合に画像を非表示にしたい。イメージでトリガーするonerror:hideImage(this)
と、一度動作し、次にターボリンクのために、更新後にすべてのイメージが非表示になります。解決策はありますか?
ありがとう
ruby-on-rails-4 - スクリプトはロードされていますが、実行されていません (Turbo リンク)
私はこのスクリプトを持っています:
$(document).ready(ready) $(document).on('page:load',ready)
ウェブサイトに Facebook バッジを作成するためのものです。ただし、関数を作成して にready
関数をロードしたにもかかわらずpage:load
、facebook バッジはページが更新されたときにのみ表示されます。これは、適切に構成されていないターボリンク プロジェクトに期待される古典的な動作です。他に何をすべきか本当にわかりません。
スクリプトはクロムのアセットとしてロードされていますが、他のすべての後にロードする必要があります。このオンライン コンバーターを使用して既存のスクリプトを変換しました。これはコーヒー スクリプトとして機能しますが、更新後にのみ機能します。
アップデート
ここが気になるところです。5行目にconsole.log
見えますか?これは、新しいページのロード時に初めてコンソールに正常に記録されますが、何が起こっているのでしょうか?