yepnope.jsを使い、条件に応じてJavascriptを呼び出したときのメモ

電脳備忘録

URLの引数に応じて呼び出す外部javascriptを切り替える必要が出てきました。 なんだかんだでなんとか意図した通りに動作させることができたので自分向け備忘録として残しておこうと思います。
参照は自己責任ということで・‥。

まずはURLの引数の取得ですが、下記サイトを参照させていただきましました。

JavaScriptで、アクセスしたURLのパラメータを取得してみる

次に条件分岐ですが、yepnope.jsというのが使えそうだったのでこれを利用しました。

yepnope.js

合わせるればなんとなるんじゃない?と安直な考えのもとにやったら意図した通りに動作しました。
例えば、URLがhttp://test.com/?switch=aaaだったら「aaa.js」を読み込むそれ以外だったら「bbb.js」読み込む場合はこんな感じでいけるみたいです。

【省略】
<script src="/js/yepnope.1.5.4-min.js" type="text/javascript"></script>
【省略】
【省略】
<script type="text/javascript">
function getUrlVars()
{
var vars = [], hash;
var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
for(var i = 0; i <hashes.length; i++)
{
hash = hashes[i].split('=');
vars.push(hash[0]);
vars[hash[0]] = hash[1];
}
return vars;
}
var tag = null;
var hash = getUrlVars();
var tag = hash['switch'];
yepnope({
test : tag == 'aaa',
yep : [ "/js/aaa.js"],
nope : [ "/js/bbb.js" ]
});
</script>

この方法がいいかどうかわかりませんが、調べればなんとか方法が見つかるものですね。 で、結局実装しなかったとかは聞かないで・‥。

広告

ブログの維持費に充てるでございます・・・。