注入jQuery无法正常工作

时间:2016-12-22 22:10:44

标签: javascript jquery

所以我有点练习将jQuery注入不同的网站,看看我的代码是如何工作的,我遇到了这种情况,我似乎无法弄清楚为什么这个人不想接受我的注射,即使它被置于标题中并表示成功。

这是我要注入的代码:

var fileref = document.createElement('script');
fileref.setAttribute("type","text/javascript");
fileref.setAttribute("src", "https://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular.min.js");

if (document.getElementsByTagName("head") != undefined)
{
    console.log("Adding jQuery to head");
    document.getElementsByTagName("head")[0].appendChild(fileref);
}
else 
{
    console.log("Adding jQuery to document");
    document.appendChild(fileref);
}

它通常适用于不同的网站,但在该网站上,我得到的结果是,为什么?

photo of the selector

Photo of chrome console

2 个答案:

答案 0 :(得分:4)

看起来你正在将jQuery注入已加载jQuery的站点。但是它使用的是旧版本的jQuery而不是你注入的版本。他们的代码使用.live(),在jQuery 1.9中删除了它。你显然注入了至少1.9,所以现在当他们的代码试图使用.live()时,它会出错。

答案 1 :(得分:1)

如果您打开网站: 的 https://greenbuyback.com/cell-phones/?limit=all&model=htc 如果没有注入任何内容,您将在控制台中看到相同的错误。

这取决于需要jQuery 1.8.3的库 https://greenbuyback.com/skin/frontend/default/gbb/js/jm.script.js 。这个版本的jQuery包含在jQuery版本1.10.2之后。这似乎是一种解决此兼容性问题的解决方法。