16

次のように、呼び出されたjavascriptファイルでjavascriptを使用してクエリパラメーターを取得することは可能ですか:

// in html
<script src="/file.js?query=string"></script>

// in file.js
console.log(this.location.query)

これはどういうわけか可能ですか、それともサーバーを使用する必要がありますか?

4

8 に答える 8

15

次のように、スクリプトタグにid属性を追加できます。

<script src="/file.js?query=string" id="query"></script>

そしてそれを呼びます:

console.log(document.getElementById("query").src.split("query=")[1]);

動作する小さなサンプルコードを以下に示します。

<html>
<head>
<script src="aaa.js?query=abcd" id="query"></script>
</head>
<body></body>
</html>

aaa.js内のコードは次のとおりです。

window.onload=function(){
    alert(document.getElementById("query").src.split("query=")[1]);
}
于 2013-03-05T12:36:08.467 に答える
11

以下のコードでsrcを取得できました。それで、queryStringを解析できると思います。

document.currentScript.src
于 2016-04-13T10:11:05.290 に答える
6

いいえ、それは不可能です。スクリプト ファイルには、グローバルな JavaScript スコープ内での表現がないためです。haitaka で示されているように、その要素は DOM 内でのみ見つけることができますが、これは非常に非標準であり、スクリプトにパラメーターを渡す方法としてはお勧めできません。

于 2013-03-05T12:39:16.613 に答える
-3

このようにして、JavaScriptを使用してクエリの値を取得してください

alert(window.location.href.split["?"][1].split["="][1]);
于 2013-03-05T12:36:18.367 に答える