Lunatic Sol

IT Tips

jQuery.noConflict() : prototype.js などとの競合回避

2009-11-04 01:31:34 | LotusScript
とある Webapp に jQuery を加えていろいろ遊んでいたら、今まで動いていた prototype.js の効果が使えなくなってしまいました。

なんでだろう、と思っていたら以下のページを見つけました。

jqueryとprototype.jsの競合を避ける

ということで、以下のように対応してみました。

  <script src="js/jquery-1.3.2.js" type="text/javascript"></script>
  <script language='JavaScript' type='text/javascript'>
  	jQuery.noConflict();
  </script>


加えて、その後の記述は $ を使用せずに、すべて jQuery に置き換えて解決解決。

ブラウザごとに異なる CSS を読み込ませる方法

2009-11-01 01:41:49 | JavaScript
スタイルシートの振る舞いが、IE や Firefox で異なる場合の対処方法として、JavaScript によるローダーを使うことがあります。

忘れないようにメモ。


  1. stylesheetloader.js ファイルを作成する (本文最後参照)

  2. html などの呼び出し元ページにて以下のスクリプトタグを追加

  3. <script src="js/stylesheetloader.js"></script>





stylesheetloader.js ファイル
function loadStylesheet(){
  var ua = navigator.userAgent.toLowerCase();
  if (ua.indexOf('gecko') != -1)
    cssfile = 'styleff.css';
  else if (ua.indexOf("msie 7.") != -1)
    cssfile = 'styleie7.css';
  else
    cssfile = 'style.css';	
  link = '<link rel="stylesheet" href="' +
cssfile +
'" type="text/css">'; document.write(link); } loadStylesheet();