例として、私は次のhtmlを持っています:
<body>
<script src="code.js?q=xyz"></script>
</body>
q=xyz
内からクエリパラメータを読み取れるようにしたいcode.js
。私は試した:
console.log(window.location.href)
ただし、URLではなくhtmlドキュメントのURLが表示されcode.js
ます(クエリパラメータのURLを解析できます)。
インポートされたJavaScriptファイルのクエリパラメータをそのJavaScript内から取得する方法はありますか?サーバーでクエリパラメーターを読み取ってから、クエリパラメーターが埋め込まれたJavaScriptを返送できることはわかっていますが、それは望ましくありません。クエリパラメータを介して構成できるCDNにJavaScriptファイルを配置できるようにしたい。
を使用document.currentScript.src
して<script>
'ssrc
属性にアクセスし、クエリパラメータを抽出できます。古いブラウザ(IE 11など)の場合は、src
次の方法で-属性にアクセスします。
var scripts = document.getElementsByTagName('script');
var src = scripts[scripts.length - 1].src;
これsrc
により、最後に実行されたスクリプトの-属性が返されます。最後に実行されたスクリプトが現在のスクリプトではない場合(たとえば、スクリプトが他の<script>
要素を操作する場合)、そのため、少し信頼性が低くなります。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加