問題タブ [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.

0 投票する
4 に答える
3703 参照

ruby-on-rails - Turbolinks はバインディングを乗算します

ブラウザで戻る/進むボタンを使用すると、Turbolinks がイベントを複数回バインドするという問題があります。document.on() イベントを書いている方法ではないことを確認するための簡単なスクリプトがあるので...

リンクをクリックすると 1 回起動します。前後 (または別の Turbolink リンク) をクリックすると、2 回起動します。次回は何度も発火し、成長し続けます。これは、jQuery と Turbolinks 以外のマニフェスト ファイルにある唯一のものです。ターボリンクがイベント バインディングを複製しないようにするにはどうすればよいですか?

0 投票する
0 に答える
124 参照

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です。それで、ターボリンクの問題だと思いますか?

0 投票する
1 に答える
141 参照

javascript - リンクをクリックして新しいページをロードするたびに、追加のアセットのロードを停止するにはどうすればよいですか?

プロジェクトのリンクをクリックすると、アセットの追加パッケージが取得されます。クリックごとに +1 アセットの追加パッケージが得られます。10 回のクリック = アセットの 10 個のコピー。(10 個の画像、10 個の css ファイル、1 個の代わりに 10 個の js ファイル)。私のjqueryイベントはすべて10回トリガーされました。どこで解決策を探すべきかさえわかりません。どんな助けにも感謝します。

私のapp.js

============

いくつかの実験(プロジェクトからすべてのjsを削除しました)の後、問題はレールキャッシングにあるようです。クリックするたびに、ブラウザーがアセットの新しいパッケージをダウンロードするように強制されるためです。

============

私の問題はターボリンクの宝石にあることがわかりました。毎回アセットをキャッシュしてから、アセットの新しいパッケージをダウンロードします。しかし、どうすればこれを修正できますか?

0 投票する
2 に答える
1880 参照

javascript - Rails 4 で Javascript が表示されない (ハイチャート)

単純な Rails アプリケーションに Highcharts を含めましたが、問題なく動作します。しかし、より複雑なRailsアプリケーションで同じことをJavascriptコードで行ったとき、チャートは表示されません。

これが私がこれまでにしたことです:

Gemfile

アプリケーション.js

show.html.erb

私が何を間違えたのか誰か知っていますか?Googleは、ターボリンクと関係があるかもしれないと言っていますが、他のアプリケーションでも機能しません...

そして、簡単な 2 番目の質問です。このコードを channel.js.coffee に追加して、このページに js がないようにするにはどうすればよいですか? 前もって感謝します!

0 投票する
3 に答える
1452 参照

ruby-on-rails - Rails レイアウトの動的レンダリング

最も基本的なレベルで、左側と右側のパネルの 2 つのパネルで構成される Ruby on Rails アプリケーションがあります。私が望むのは、これをレイアウトとして使用し、コントローラーで のようにレンダリングできるようにすることrender <view_name>, <right or left panel>です。これにより、ターボリンクと組み合わせて、左側または右側のパネルのみが動的に作成されます。

インターネットを検索しましたが、私のような例は見つかりませんでした。これは実行可能だと確信していますが、どうすればよいですか?
編集: Android の chrome で実行できるはずです。1 つの解決策は、最初のリクエストですべてのビューをレンダリングすることです。リンクをクリックすると、パネルが非表示になり、表示されますが、これは問題ないと思います。ご意見はありますか? ここに画像の説明を入力