問題タブ [pjax]
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.
events - chromeユーザースクリプトからのpjaxページの変更を傍受するにはどうすればよいですか?
ポーリングせずに(またはスクリプトの孤立した世界から抜け出して、Webページのjavascriptコンテキストで呼び出しを傍受する)ことなく、chromeユーザースクリプト(拡張子ではないhistory.pushState
)からURLの変更を検出できますか?
私の問題、より詳細には:
Githubは、サイト内のページ間のサイト ナビゲーションにpjax [最小化された例history.pushState
] を介して[ WHAT-WG 仕様] を使用するため、サイトを閲覧するときにページ全体をリロードする代わりに、サイト上の特定の URL を対象とするユーザー スクリプトその URL でサイトに入るか、ページを手動で強制的にリロードした場合にのみ起動します。
私は、DRY 用の小さなユーザー スクリプト ライブラリon.jsを作成しています。ユーザー スクリプトを作成し、呼び出しをインターセプトしてpushState
、ホスト スクリプトが実行したい新しいページにいるときを確認し、それを呼び出すだけで、ユーザー スクリプトを処理します。関連する場合。
history.pushState
呼び出されたときにイベントが発生した場合、これは比較的簡単ですがpopstate
、最初のページが読み込まれるか、ユーザーが履歴を前後に移動する場合を除いて、イベントは発生しません。これは私の目的にはかなり役に立ちません。
pjax/github のみのソリューションに制限することも検討しました。新しいページが読み込まれると、github が$(document).trigger('pageUpdate')
イベントを発生させますが、jQuery
これらは DOM イベント経由ではなく内部で実装されるため、ユーザー スクリプトが実行する隔離された世界からはそれらを聞くことができません。ページ自体に小さなリスナーを挿入して、そのjQuery
インスタンスにこのイベントを報告させない限り、ページ自体をハイジャックすることもできますhistory.pushState
。
これを達成するための他のきちんとした方法を見ている人はいますか?
asp.net-mvc-4 - pjax のカスタム イベント トリガーが表示されない
pjax が適切に配線されているかどうかを診断するために、いくつかのカスタム イベントをトリガーできるかどうかを確認しようとしています。私が知る限り、pjax はまったく機能していません。
これが私がテストしているスクリプトブロックです。
そして、これが私のページの HTML 出力全体です。
.NET部分については。
_ViewStart.cshtml
_Pjax.cshtml
リンクをクリックしてX-PJAX
も、送信されているヘッダーが表示されず、コンソールにも何も表示されません。
私が見逃している明らかなものはありますか?
ruby-on-rails - Rails、pjax、タイトルタグ
私は方法を持っています:
動作するはずですが、ロケールでロシア語に問題があります: Авторизация
、応答ÐвÑоÑизаÑиÑ
=)
Pjax は応答本文でタイトル タグを受け入れますが、それを各ファイルに追加します。これは DRY 方式ではありません。
何か案は?
javascript - DISQUS および Pushstate AJAX または Hashbang
Disqus を PJAX や通常の#!
AJAXなどで適切に動作させた人はいますか?
これを行っている人々の例をいくつか見てみましょう。
1 つ目は Hash bang スタイルを使用し、2 つ目は PJAX を使用しています。これらのサイトをクリックすると、Disqus で gravatar アイコンが消え、javascript コンソールを開くと、通常、DISQUS
オブジェクトのバインド解除に問題があるため、エラーとログ メッセージが表示されます。
私は自分のランダムなハックを試しました(縮小によって難読化されていないDISQUS jsを見つけることができないため、これは困難です):
基本的に、PJAX が新しいページをロードするときにクリーンアップする必要があるように、一連のクリーンアップ手法を試しましたが、常にnull
例外をスローするイベントがいくつか発生します。
javascript - yiiフレームワークのCActiveformに依存するドロップダウンは、pjaxされたコンテンツ内では機能しません
これが私の依存するドロップダウンphpコードです:
このphpコードをpjaxコンテンツ内に配置する必要があります。ページが更新されたときに正常に動作しています。ただし、pjaxを使用してロードする場合、この依存ドロップダウンは機能しません。
質問:
pjaxを使用してロードされたときに、この依存ドロップダウンを機能させるにはどうすればよいですか?どのコードを追加する必要がありますか:
この依存ドロップダウンを機能させるには?このphpコードを「リロード」するスクリプトはありますか?依存するドロップダウンが機能しますか?または別の解決策はありますか?
jquery - pjax(およびjQuery.form?)を使用して添付ファイル付きのフォームを投稿する
GET
リンクとフォーム(および)にpjaxを使用することに成功しましたPOST
。しかし今、私はまた送信しなければならないフォームを持っています<input type="file"...>
。pjaxはこれをサポートしていないため、https://github.com/malsup/form(jquery.formプラグイン)を確認しました。これは、ファイルを使用したフォームデータの送信をサポートしていますが、ブラウザーでの「pjax」の操作方法ではサポートしていません。履歴オブジェクト。
では、ファイルフィールドを含むフォームでpjax機能をどのように使用できるでしょうか。何か案は?
編集:私が単にFormDataオブジェクトを使用するのではなく、jquery.formプラグインを使用する理由:InternetExplorerはそれらを処理できません。また、プラグインにはこのブラウザの回避策があります。私はjquery.formプラグインを使用することを主張していませんが、すべての主要なブラウザーで機能させる方法が必要です。
php - 複数のPJAXリクエスト
PJAXで2つの別々のdivを更新しようとしています。PJAXが失敗し、2番目のPJAXのみがロードされます。次に例を示します。
問題は、2つのpjaxリクエストを同時に実行できず、2番目のリクエストが最初のリクエストとオーバーラップするため、2番目のリクエスト(id = "content-2"のリクエスト)のみが更新されることです。プッシュがfalseに設定されている理由は、その特定のケースではURLをプッシュする必要はありませんが、サイトの他の部分では必要です。
ruby-on-rails - pjax -- リンクは pjax-container 内にある必要がありますか?
https://github.com/rails/pjax_railsを使用しています。
ページの「永続的な」部分にリンクを配置したいと考えています。つまり、私のレイアウトでは
次に、ビュー内で:
pjax を呼び出す JavaScript は次のとおりです。
[これは readme の呼び出し方法とは異なることに注意してください。ただし、報告された問題が指摘しているように、readme の方法はまったく機能しません。]
これは機能していません (リンクはページ全体をリロードします)。
data-pjax-container 属性を使用して div 内にリンクを移動すると、機能します (ページはリロードされず、コンテナーのみが更新されます)。
リンクが実際にコンテナの外にある例は見たことがありません。これを機能させる方法を誰か教えてもらえますか?
jquery - Destroy/hide twitter bootstrap tooltips when using pjax
I've had some issues with the twitter bootstrap tooltips not being removed from the DOM element when using pjax on a Rails app. For example, when I mouseover an element with a tooltip, then click a link to another page, the tooltip is frozen. My current solution to removing the tooltips is as follows:
Is there a more efficient / effective way to do this?
django - DjangoのPJAXヘッダー
jQuery-pjaxとdjango-pjaxを使用してビューの一部をpjax化しようとしています。私が理解しているように、すべてのpjaxリクエストは追加のヘッダーを送信しますX-PJAX: True
。しかし、(私が思うに)私のpjaxコードが正常に機能していても、どこにも見つかりません。
基本テンプレートstock-template.html
:
テンプレート1(株価指数)stock.html
とテンプレート2(株価指数)では、テンプレートを拡張し、指定されたコンテナーとしてそこにstock-list.html
入れながら、上のナビゲーションを再利用します。<div class="tab-content">
urls.py
views.py
pjax:complete
要約すると、PJAXスクリプトが実行され、が呼び出されたため、私のコードは機能すると思います。ヘッダーを再確認して、ローカルホストが速すぎてページの更新に気付かないのではなく、pjaxであることを確認したいだけです。問題は、ChromeまたはFirefoxでX-PJAXヘッダーが表示されないことです。
ご覧のとおり、ヘッダーを取得してテンプレートに送信して表示しようとしましたが、出力されますNone
。
助けてください。