ConneCre

connelog

RSS

shadowbox.jsと他のjsライブラリのコンフリクトについて

shadowbox.jsと他のjsライブラリがコンフリクトしたのでメモ。

調べているとonloadイベントが競合していたようなので、shadowboxの記述を以下に変更しました。

■修正前

  1. <script type="text/javascript" src="/shadowbox/js/shadowbox-jquery.js"></script>
  2.  
  3. <script type="text/javascript" src="/shadowbox/js/shadowbox.js"></script>
  4. <script type="text/javascript">
  5.     Shadowbox.loadSkin('classic', '/shadowbox/skin');
  6.         Shadowbox.loadLanguage('en', '/shadowbox/lang');
  7.     Shadowbox.loadPlayer(['img', 'swf', 'flv', 'qt', 'wmp', 'iframe', 'html'], '/shadowbox/player');
  8.     window.onload = function(){
  9.     Shadowbox.init();
  10. };
  11. </script>

■修正後

  1. <script type="text/javascript">
  2.     function addEvent(elm,listener,fn){
  3.             try{
  4.                     elm.addEventListener(listener,fn,false);
  5.             }catch(e){
  6.                     elm.attachEvent("on"+listener,fn);
  7.             }
  8.     }
  9. </script>
  10.  
  11. <script type="text/javascript" src="/shadowbox/js/shadowbox-jquery.js"></script>
  12. <script type="text/javascript" src="/shadowbox/js/shadowbox.js"></script>
  13. <script type="text/javascript">
  14.     Shadowbox.loadSkin('classic', '/shadowbox/skin');
  15.     Shadowbox.loadLanguage('en', '/shadowbox/lang');
  16.     Shadowbox.loadPlayer(['img', 'swf', 'flv', 'qt', 'wmp', 'iframe', 'html'], '/shadowbox/player');
  17.     addEvent(window,"load",function(){Shadowbox.init();});
  18. </script>

■参考URL

複数のjsライブラリを利用する際にonloadを書き換える方法

PAGE TOP