requireJS には、baseURL というプロパティがあります。baseURL を設定することで、現在のページではなく、プロジェクトを基準にして読み込むファイル パスを記述できます。 たとえば、プロジェクト ディレクトリが /myproject/ で、その中に 2 つのページがあり、1 つは /myproject/one.html、もう 1 つは /myproject/html/other.html で、両方のページが /myproject/js/some.js を読み込む必要があるとします。 baseURL を /myproject/ に設定すると、js をロードするときに、ページ パスが異なるために異なる相対パスを使用するのではなく、両方のページでプロジェクトに対する相対パス ./js/some を使用できます。 しかし、requireJS を使用しない場合、baseURL と同様の機能を実現できるでしょうか? ベースタグ コードをコピー コードは次のとおりです。<html> <ヘッド> <base href="http://static.cnblogs.com/" /> </head> <本文> <img src="./images/logo_gray.gif" /> </本文> </html> 相対パス ./images/logo_gray.gif を使用してロードした画像は、画像 http://static.cnblogs.com/images/logo_gray.gif になることがわかります。 ベース タグは、ページのリンクにデフォルトのパスまたはデフォルトの開く方法を追加できます。 デフォルトの開く方法を設定する例を次に示します。 コードをコピー コードは次のとおりです。<html> <ヘッド> <ベースターゲット="_blank" /> </head></p> <p><body> <a href="http://www.cnblogs.com">このページは新しいウィンドウで開きます</a> <a href="http://justany.cnblogs.com">このページも新しいウィンドウで開きます</a> </本文> </html> バグ ベース タグを動的に記述しないことをお勧めします。そうしないと、http://localhost/static/test.html のページのように、Firefox と IE で小さなバグが発生します。 コードをコピー コードは次のとおりです。<html> <ヘッド> <スクリプト> document.write('<base href="http://localhost/" />'); </スクリプト> </head></p> <p><body> <img src="static/1.jpg" /> </本文> </html> Firefox と IE は、最初に http://localhost/static/static/1.jpg を読み込み、次に http://localhost/static/1.jpg を読み込みます。つまり、まず現在のページを基準としたパスで読み込みを試み、次にベース タグで設定されたデフォルトのパスで読み込みを試みます。 Chrome は正常に読み込まれます。 Firefox が正しく読み込まれません。 なぜ? これについて、適切な説明が見つかりませんでした。私たちの分析では、ブラウザがリソースの読み込みを最適化しているため、動的に挿入されたベース タグが有効にならないときに、ブラウザがリソースを事前読み込みすることになります。その結果、エラーが発生し、その後、ベース タグが有効になり、正しいリソースが読み込まれます。 どうすれば回避できるでしょうか?ベースタグを動的に記述しなくても問題ありません。ベース タグを動的に記述する必要がある場合は、ページによって参照されるすべての外部リソースを JavaScript を通じて動的に読み込む必要があります。 |
画像リンク <img src="" /> jsを使用してURLが有効...
最近、webpackの使い方を学んでいたときに、webpack-replace-loaderの設定正...
この記事の例では、3レベルのナビゲーションメニューを実装するためのjs + cssの具体的なコードを...
目次概要単一ファイルコンポーネント基本概念シンプルなローダーコンポーネントコンテンツの解析コンポーネ...
翻訳プログラムを例に挙げてみます。前回はWindowsでのアプリケーションのパッケージ化についてお話...
目次1. コンポーネント切り替え方式方法1: v-ifとv-elseを使用する方法 2: 組み込みコ...
目次序文1. 公式サイトからMySQL 8.0.22をダウンロードする2. 環境変数を設定する3. ...
序文MySQLクエリはselectコマンドを使用し、limitとoffsetパラメータを使用して、指...
この記事では、js+canvasコードの雨効果の具体的なコードを参考までに共有します。具体的な内...
CSSコードコンテンツをクリップボードにコピー.bottomTable{背景色: rgb (249,...
目次インデックスの適切な使用1. 通常のインデックスのデメリット2. 主キーインデックスの落とし穴3...
最近、仕事でサウンド ファイルを再生するために Web ページにプレーヤーを埋め込む必要に迫られまし...
Vue+Openlayerはmodifyを使って要素を変更します。具体的な内容は以下のとおりです。 ...
目次総合的な比較アクティブの観点から機能的な観点から詳細な比較1. エース2. コードミラー3. モ...
Linux ホスト名変更コマンド1. ホスト名を一時的に変更するだけの場合は、hostname コマ...