問題タブ [head.js]
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.
head.js - head.js による読み込みエラーの検出
必要なスクリプトが読み込まれない場合、スクリプトの読み込みが失敗してもコールバックが発生します (404):
上記の例では、スクリプト ファイルがロードされているかどうかに関係なく、コンソールに次のように出力されます。
折り返し電話、 []
それを処理する方法はありますか?
jquery - head.js を使用して jQuery を正しくロードするには?
私の Web サイトは多数のスクリプト (jQuery を含む) をロードする必要があるため、この目的のために head.js を使用することにしました。もともと、私は持っています:
script.js は私自身のスクリプトです。scripts.js では、次のようなドキュメント準備完了イベントを使用するコードがいくつかありました。
head.js に切り替えるときは、これを使用してスクリプトを読み込みます。
そしてscripts.jsでは、私は以下を使用しています:
私の質問は次のとおりです。
私は正しくやっていますか?
head.ready("jQ",...) が起動されたときに DOM は常に準備ができていると仮定できますか (私は自分の Web サイトで時々そうではないように見えることがあります)?
javascript - head.js で依存関係を設定する
依存関係のある JS ファイルを非同期的に読み込むために head.js を使い始めました。
API のドキュメントと例を見ると、JS ファイルにラベルを適用し、読み込まれたときにいくつかの条件を実行できることがわかります。ドキュメントの例を次に示します。
つまり、基本的に、file1.js が読み込まれると、コードの 2 番目のブロック (クロージャー内) で何でも実行されます。
私がやりたかったのは、他のファイルがロードされたときに、より多くのファイルを (非同期で) ロードすることです..
例えば..
- まず、jquery ファイルをロードします: jquery.min.ks
- それが正常に読み込まれた後、DataTables ファイルを非同期で読み込みます: [ dataTables.searchHighlight.min.js, dataTables.conditionalPaging.js, jquery.dataTables.yadcf.js ]
- その後、メインのアプリケーション ファイルをロードします: [ myapp_core.js, myapp_whatever.js ]
head.js を使用して、私が今持っているコードを次に示します。正常に動作しているように見えますが、正しくないようです (他の関数内で head.load() をスローする必要があります)。
上記のコードは init.js 内にあり、..
<script type="text/javascript" src="/include/js/head.min.js" data-headjs-load="/include/js/init.js"></script>
これは正しい方法ですか?head.js のドキュメントはかなり限られています。
ありがとう
javascript - head.ready() での呼び出し時に $(document).ready() が起動しない
jQuery$(document).ready
と headjs フレームワーク v1.0.3 を head.ready 機能を使用して使用する際に問題があり、Internet Explorer (バージョン 11、古いバージョンでは試せません) でのみ、10 に 1 回しか使用できません...
私が持っている直前に</body>
:
$(document).ready イベントがトリガーされない場合もあります。Chrome と Firefox で問題なく動作します。
私は出そうとしましhead.ready()
たが無駄です:
head.ready
の代わりに を使用して解決策を見つけましたが、 の部分がheadjs を使用しないプラットフォームと共有されているコードに由来する$(document).ready
ため、この解決策を使用できません。head.ready(function() {...});
誰かがこの問題に遭遇したことがありますか、または解決策を持っていますか?
javascript - head.js "Modernizr" のような機能が ms-edge を検出しない
head.js
Microsoft の「Edge」ブラウザーが検出されないことに気付きました。その上、要素に正しくないクラスchrome
とchrome55
クラスが追加され<html>
ます。
この問題にアプローチする適切な方法を知っている人はいますか? 私が思いつく最善の方法は、アプリのブートストラップでこのチェックを実行することです。「Edge」ブラウザーを手動で検出し、適切な「ms-edge」クラスを追加し、head.js の不適切な「chrome」クラスを削除します。