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

電脳備忘録

本記事のソースコードの利用によって生じた損害について、当方は一切の責任を負いません。ご自身の判断と責任のもとで参照・ご利用ください。

この記事は最終更新から3年以上経過しています。

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>
  

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

0%