2012-01-19 13 views
1

Joomlaで作業していて、jQueryスクリプトを追加したいとします。私のindex.phpは次のようになります。私が何をしようとしています何jQueryが2回ロードまたはロードされない

<script> 

    if (typeof jQuery == 'undefined') 
    { 
     var script = document.createElement('script'); 
     script.type = "text/javascript"; 
     script.src = "http://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js"; 
     document.getElementsByTagName('head')[0].appendChild(script); 
    } 

</script> 

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js"></script> 
<script type="text/javascript">var $j = jQuery.noConflict();</script> 
<script type="text/javascript" src="<?php echo $this->baseurl ?>/templates/<?php echo $this->template ?>/css/myjqueryscript.js"></script> 

他のjQueryがすでにロードされていないと、すでに存在する場合、それをロードしていないがあるときにjQueryをロードすることです。

答えて

2

jQueryがページに読み込まれるまで待ってから使用してください。これを試して。

function ScriptLoaded(){ 
    alert('jQuery Loaded'); 
} 

if (typeof jQuery == 'undefined') { 
    var script= document.createElement('script'); 
    script.type= 'text/javascript'; 
    script.onreadystatechange= function() { 
     if (this.readyState == 'complete'){ 
      ScriptLoaded(); 
     } 
    } 
    script.onload= ScriptLoaded; 
    script.src = "http://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js"; 
    document.getElementsByTagName('head')[0].appendChild(script); 
} 

DEMO

+0

私はそれを試してみましたが、それは動作しません。 jqueryがロードされるまでどのように待つべきですか?私は非常に多くのコマンドを試したが、何も動作しないが、jqueryを直接ロードする。 – user1159265

+0

@ user1159265 - 編集した私の回答を確認してください。私はそれを修正し、デモフィドルhttp://jsfiddle.net/RgAg3/も追加しました。 – ShankarSangoli

+0

あなたの答えShankarをありがとう。まだ動作していません。 他の拡張機能が有効な場合(独自のjqueryをロードするもの)、everythinkは正常に動作します。しかし、拡張機能を無効にすると、スクリプトは機能しません(しかしjqueryがロードされたメッセージが表示されます)。jqueryを直接ロードする場合のみ。 どうすればよいですか? – user1159265