多くの場合、Web ページで特定の変数を定義する必要がある JavaScript ファイルを使用する必要があります。
コードは次のようになります。
<script type="text/javascript" src="file.js"></script>
<script type="text/javascript">
var obj1 = "somevalue";
</script>
しかし、私がやりたいのは:
<script type="text/javascript"
src="file.js?obj1=somevalue&obj2=someothervalue"></script>
さまざまな方法を試しましたが、これまでで最も良い方法は、クエリ文字列を次のように解析することです。
var scriptSrc = document.getElementById("myscript").src.toLowerCase();
そして自分の価値観を探します。
文字列を解析する関数を構築せずにこれを行う別の方法があるのだろうか。
皆さんは他の方法を知っていますか?
ベストアンサー1
可能であれば、グローバル変数を使用しないことをお勧めします。名前空間と OOP を使用して、引数をオブジェクトに渡します。
このコードは file.js に属します:
var MYLIBRARY = MYLIBRARY || (function(){
var _args = {}; // private
return {
init : function(Args) {
_args = Args;
// some other initialising
},
helloWorld : function() {
alert('Hello World! -' + _args[0]);
}
};
}());
そして、HTML ファイルでは次のようになります:
<script type="text/javascript" src="file.js"></script>
<script type="text/javascript">
MYLIBRARY.init(["somevalue", 1, "controlId"]);
MYLIBRARY.helloWorld();
</script>