如果页面中没有包含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>
答案 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>"
;}