包括jQuery,如果不包括在内

时间:2012-04-29 09:50:35

标签: javascript php jquery

如果页面中没有包含jquery,我想将其包含在文件中。 我怎么能这样做?

我写了这个,但它给出了不希望的输出。

<script type="text/javascript">
if ('undefined' == typeof window.jQuery) {
    // jQuery not present
//  alert("Jquery Unavailable");
<?php echo '<script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.7.1.min.js"></script>'; ?>
} else {
    // jQuery present
    alert("Jquery Available");
}
</script>

5 个答案:

答案 0 :(得分:15)

你不能用PHP做到这一点。试试这个

<script type="text/javascript">

if(typeof jQuery == 'undefined'){
        document.write('<script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.7.1.min.js"></'+'script>');
  }

</script>

答案 1 :(得分:10)

<script type="text/javascript">
    if(typeof jQuery == 'undefined'){
        var oScriptElem = document.createElement("script");
        oScriptElem.type = "text/javascript";
        oScriptElem.src = "http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.7.1.min.js";
        document.head.insertBefore(oScriptElem, document.head.getElementsByTagName("script")[0])
    }
</script>

答案 2 :(得分:7)

您可以尝试以下方法:

<script>window.jQuery || document.write('<script src="//ajax.aspnetcdn.com/ajax/jQuery/jquery-1.7.1.min.js"><\/script>')</script>

答案 3 :(得分:4)

您的PHP正在服务器上运行并输出一些文本。

然后,浏览器将该文本解释为HTML和JavaScript。

为了响应浏览器中运行的逻辑,您无法在已发送到浏览器的文档中运行服务器上的PHP。

您需要完全使用JavaScript,或者更加理智,整理服务器端逻辑,以便跟踪是否包含jQuery。

答案 4 :(得分:0)

如果你想用PHP做,我认为更好,你可以这样做

  • 在调用load()函数之前创建一个变量,如:

      

    var load_script =&#39; no&#39;;

  • load()函数接受一个可选参数,您可以使用该参数将数据发送到服务器。使用它发布您之前创建的 load_script 变量,如此

      。

    $(&#39;#receiver_div&#39;)负载(&#39;的mypage.html&#39; {&#39; load_script&#39;:load_script},功能(HTML){

         

    //页面加载后要做的事情

         

    })

  • 然后在您要加载的页面中,抓住发布后的值

      

    $ load_script = $ _POST(&#39; load_script&#39;);

  • 然后你可以做一个if语句来排除你想要的脚本

  

if($ load_script!=&#39; no&#39;)   {

     

echo "<script src="jquery.js"></script>";

     

}