さんざん悩み検索しまっくった結果、ようやく目的を果たせる書き方を発見しました。
世の中、賢い人がたくさんいるものです。
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 のパラメーターを書き換えるだけで、リンクごとに幅と高さが変えられたりします。