現在実行中のjavascriptコードのファイルパスを取得する方法
2023-09-24 12:51:38
質問
私はC言語のようなことをしようとしています
#include "filename.c"
またはPHPの
include(dirname(__FILE__)."filename.php")
を使用することができますが、javascriptではできません。jsファイルが読み込まれたURL(例えば、タグのsrc属性に与えられたURL)を取得できれば、これができることは分かっています。javascriptがそれを知る方法はあるのでしょうか?
あるいは、同じドメインから動的に javascript を読み込む良い方法はありますか (ドメインを明確に知ることなく)?たとえば、2 つの同じサーバー (QA と本番) があり、それらの URL ドメインが明らかに異なっているとします。次のような方法はありますか?
include("myLib.js");
ここで、myLib.js は、それをロードするファイルのドメインからロードされるのでしょうか?
少しわかりにくい表現になってしまいましたが、すみません。
どのように解決するのですか?
スクリプトの中で
var scripts = document.getElementsByTagName("script"),
src = scripts[scripts.length-1].src;
ブラウザはスクリプトを順番に読み込み、実行するので、スクリプトが実行されている間、そのスクリプトが含まれているドキュメントは、ページ上の最後の要素として、あなたのスクリプト要素を確実に持っているため、これは機能します。このコードはもちろんスクリプトに対して「グローバル」でなければなりません。
src
をどこかに保存し、後で使用できるようにしてください。グローバル変数が漏れないように、ラップしてください。
(function() { ... })();
関連
-
[解決済み] JavaScriptで "use strict "は何をするのか、その根拠は?
-
[解決済み] JavaScriptで文字列が部分文字列を含むかどうかを確認する方法は?
-
[解決済み] あるJavaScriptファイルを他のJavaScriptファイルにインクルードするにはどうすればよいですか?
-
[解決済み] JavaScriptでメールアドレスを検証するのに最適な方法は何ですか?
-
[解決済み] JavaScriptでオブジェクトをディープクローンする最も効率的な方法は何ですか?
-
[解決済み] JavaScriptでタイムスタンプを取得する方法は?
-
[解決済み] JavaScriptで現在のURLを取得する?
-
[解決済み] jqueryでdivの要素がオーバーフローしていないかチェックする
-
[解決済み] Javascriptで動的に命名されたメソッドを呼び出すにはどうすればよいですか?
-
[解決済み] jQueryを使用して、すべてのクリックイベントハンドラを削除するにはどうすればよいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] 上級者向けJavaScript。この関数はなぜ括弧でくくられるのですか?重複
-
[解決済み] チェックボックスが選択されているかどうかを確認するjQuery
-
[解決済み] javascriptで2つの数値を連結する方法は?
-
[解決済み] 文字列のn番目の出現箇所を取得するには?
-
[解決済み] TypeScriptのdeclare classとinterfaceの違いとは?
-
[解決済み] Reactコンポーネントでthis.setStateを複数回使用するとどうなりますか?
-
[解決済み] Javascript / jQueryでAndroid端末を検出する。
-
[解決済み] JavaScriptでの大文字小文字を区別しない正規表現
-
[解決済み] jQueryで入力ファイルが空かどうかをチェックする方法
-
[解決済み] Node.jsのES6クラスをrequireで作る