URL から JavaScript に含めたいパラメーターを取得しよう

さんざん悩み検索しまっくった結果、ようやく目的を果たせる書き方を発見しました。
世の中、賢い人がたくさんいるものです。

function getJsParam( fn ) {

var scripts = document.getElementsByTagName( ‘script’ );
var script;
var params = {};

for ( var i=0; i<scripts.length; i++ ) {
var s = scripts.item( i );
if( s.src.indexOf( fn ) != -1 ) {
script = s;
break;
}
}

if( script ) {
script.src.match( /(.*)(\?)(.*)/ );
if( RegExp.$3 ) {
var a = RegExp.$3.split( ‘&’ );
if( a ) {
for( var k=0; k<a.length; k++ ) {
var p = a[ k ].split( ‘=’ );
if( p[0] ) {
params[ p[0] ] = p[1];
}
}
} else {
return false;
}
} else {
return false;
}
} else {
return false;
}

return params;
}

var param = getJsParam(‘http://example.com/yourscript.js’);

こんな風にすれば、scr 属性でパラメーターが得られるのです。
例えば、http://example.com/yourscript.js?width=300&height=200
こうすれば、リンク URL のパラメーターを書き換えるだけで、リンクごとに幅と高さが変えられたりします。

カテゴリーTips

コメントを残す