Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 动态加载jQuery仅在某些站点中失败 代码:_Javascript_Jquery - Fatal编程技术网

Javascript 动态加载jQuery仅在某些站点中失败 代码:

Javascript 动态加载jQuery仅在某些站点中失败 代码:,javascript,jquery,Javascript,Jquery,这就是为什么我控制的网站还没有加载jquery,因为这段代码要插入到我不知道的页面上,如果没有加载,它就会加载它。这在我的上运行得很好,但如果我在另一个上尝试,它将失败,并出现未捕获的TypeError:object[object Window]的属性“$”不是函数 我不知道发生了什么。以前没有定义jQuery时,您的代码会加载jQuery,但您的站点已经有了jQuery (我认为它包含在你的wordpress主题中) 因此,您可以使用jQuery对象。如果不能使用$,那是因为jQuery处于“

这就是为什么我控制的网站还没有加载jquery,因为这段代码要插入到我不知道的页面上,如果没有加载,它就会加载它。这在我的上运行得很好,但如果我在另一个上尝试,它将失败,并出现未捕获的TypeError:object[object Window]的属性“$”不是函数


我不知道发生了什么。

以前没有定义jQuery时,您的代码会加载jQuery,但您的站点已经有了jQuery

(我认为它包含在你的wordpress主题中)

因此,您可以使用
jQuery
对象。如果不能使用
$
,那是因为jQuery处于“无冲突模式”


只需使用
jQuery
而不是
$
或通过
窗口重新定义
$
。$=jQuery.noConflict()

也许页面使用了
jQuery.noConflict()
?不知道,我知道wordpress主题加载了jQuery,但我的脚本必须能够处理这个问题。我不建议覆盖
$
我改为jQuery而不是$,没有错误,但是div没有在复杂的站点上得到更新…@JanDvorak yea也许它会造成一些真正的“冲突”。但这是解决方案之一哈哈
p_initJQuery();

function p_initJQuery() {
if (typeof jQuery === "undefined") {
    var script_tag = document.createElement('script');
    script_tag.setAttribute("type", "text/javascript");
    script_tag.setAttribute("src", "http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js")
    script_tag.onload = punctis_load_box;
    script_tag.onreadystatechange = function() {
        if (this.readyState == 'complete' || this.readyState == 'loaded') punctis_load_box();
    }
    document.getElementsByTagName("head")[0].appendChild(script_tag);
} else {
     punctis_load_box();
}
}

function punctis_load_box() {
    $(".punctis-social-box").html(typeof jQuery);
}