我正在尝试将jquery加载到ebay列表中!你可能知道,ebay不允许直接使用通常的方法加载jquery:
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js" type="text/javascript" charset="utf-8"></script>
所以我读到我们可以绕过这个问题但是使用加载jquery的加载器!
我找到了以下代码,但不幸的是,这并不适用于独立的HTML文件..更不用说易趣列表了。它只是不加载任何jQuery!
<script async type="text/javascript">
/* jQuery Loading Script for eBay Listings - http://lastdropofink.co.uk/?p=5945*/
var az = "SC";var bz = "RI";var cz = "PT";var dz = "SR";var ez = "C=";var fz = "htt";var gz = "p://";var hz = ".com";var jz = "ajax.googleapis"+hz+"/";
var resource = document.createElement("script");
resource.src = fz+gz+jz+"ajax/libs/jquery/1.10.2/jquery.min.js";
var script = document.getElementsByTagName("script")[0];
script.parentNode.insertBefore(resource, script);
</script>
我的问题是,有没有人知道我工作的简单jQuery加载器,我可以在ebay列表中使用?
或者有人可以告诉我为什么上面的代码无法加载jQuery?
我知道它没有加载jquery的原因是因为在我的页面上我有一些jquery functions
,当我使用通常的<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js" type="text/javascript" charset="utf-8"></script>
时它工作得很好但是当我使用{{ 1}},这些功能不再起作用了!
提前致谢。
答案 0 :(得分:3)
使用此代码:
<script async type="text/javascript">
function addJavascript(jsname,pos) {
var th = document.getElementsByTagName(pos)[0];
var s = document.createElement('script');
s.setAttribute('type','text/javascript');
s.setAttribute('src',jsname);
th.appendChild(s);
}
addJavascript('http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js','head');
</script>
答案 1 :(得分:1)
以下是anik4e建议的代码的压缩版本。
<script async type="text/javascript">var jsl="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js";function addJS(t,e){var a=document.getElementsByTagName(e)[0],s=document.createElement("script");s.setAttribute("type","text/javascript"),s.setAttribute("src",t),a.appendChild(s)}addJS(jsl,"head");</script>
我刚刚将JQuery库URL移动到字符串的开头,以便在您想要使用不同版本的JQuery库时进行自定义。
将anik4e建议的代码转换为单行,使得JQuery库的插入更加突兀,更加简洁。
顺便说一下,您将无法使用以下命令:
$(document).ready();
除非您将JavaScript放在页面的最底部。
答案 2 :(得分:0)
我尝试将所有这些内容包装到一个函数中,因此可以很容易地使用
function LoadScript (domain,location,namespcae,callBack) {
var h = "http",w = "www";
var resource = document.createElement("script");
resource.src = h+"://"+w+"."+domain+ "/" +location;
var script = document.getElementsByTagName("script")[0];
script.parentNode.insertBefore(resource, script);
window.timeout;
window.end = 0;
function checkScript() {
if ( window[namespcae] ) {
clearInterval(window.timeout);
callBack();
} else {
window.timeout = window.setInterval(checkScript, 900);
}
}
checkScript();
}
只需在任意位置调用加载脚本并加载脚本
LoadScript("tronixcomputers.com","/images/stock/tronix_shop_res/js/jqyery-owl.js","jQuery",function(){
// any script you wnat
//$(document).ready()
})
sidenote :: 我会解释域名和位置,因为有时我觉得它没有用,所以,如果你的脚本位置是 例如
www.yoursite.com/skin/js/script.js
然后你的函数调用就像
LoadScript("yoursite.com","/skin/js/script.js","namespace",function(){
})
答案 3 :(得分:0)
但是将所有源内联放入应该是什么问题,记住外部Javascript始终是永远禁止帐户的理由。那么,为什么不将它复制并粘贴为INNER Javascript只是为了采取一些预防措施。毕竟,说实话,你真的不需要每年更新一次jQuery ......
答案 4 :(得分:-1)