2017-08-18 20 views
1

の延長に追加パラメータと値は次のように含まなさい: - script.js内側から私はJSファイルを持つサイトで働いている.jsファイル

<script type="text/javascript" src="script.js?param=value"></script> 

が、その私ができる方法はあります - paramとその値を取得しますか?

+0

いいえ、JSだけでは不可能です。 –

+0

いいえあなたはそれを得ることができません –

+1

@RoryMcCrossan:ああ、そうです。 :-) –

答えて

1

そのスクリプトが同期 HTMLパーサとを実行しているので、あなたは最後script要素を取得し、そのsrcを読むことができます:

var scripts = document.querySelectorAll("script"); 
var script = scripts[scripts.length - 1]; 
console.log(script.src); // "script.js?param=value" 

それからちょうどにそれを破る、?後に何をつかむために解析する文字列を使用します名前/値のペアなど

それとも、script要素にasyncまたはdeferを使用するので、それは最後の1ではないかもしれない場合は、そのsrcが含まれている1探し:

var script = document.querySelector("script[src*=script.js]"); 
console.log(script.src); // "script.js?param=value" 

これは、スクリプトの名前を変更できるため、これは少し信頼性が低いです。あなたはいつもquerySelectorAll("script")を使って、あなたが期待する並べ替えのパラメータを持つものを見つけることができます。誤解を避けるために


:私はそれをお勧めしません。私は、初期化呼び出しでオプションを渡すことを好むか、またはスクリプトが(Googleのように)追加される前にオブジェクトを定義することを要求するなどして、それを行うことができます。

+0

おかげさまでありがとうございました。 – Meek

関連する問題