2016-12-22 22 views
2

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

+0

あなたのコードは、jQueryではなくAngularを挿入します。間違ったコードを投稿しましたか? – Barmar

+0

しかし私が間違っているが、AngularJSにjqueryが含まれていない場合は、私を修正してください。 – m3kkis

+0

私は知らない、私はそれを使用したことはありません。最初にjQueryをロードする必要があると思いますが、おそらく自動的にロードされます。 – Barmar

答えて

4

すでにjQueryのをロードし、サイトへのjQueryを注入しているように見えます。しかし、それはあなたが注入したバージョンより古いバージョンのjQueryを使用しています。そのコードは.live()を使用していますが、これはjQuery 1.9で削除されました。明らかに少なくとも1.9を注入したので、コードが.live()を使用しようとするとエラーになります。何でもコンソールで同じエラーが表示されますを注入せずに https://greenbuyback.com/cell-phones/?limit=all&model=htc :あなたがサイトを開くと

+0

これを修正するために私が正しく理解していれば、古いバージョンを試してみるべきですか? – m3kkis

+2

他のウェブサイトにコードを注入しないでください。依存関係がどのようになるかを予測するのは難しいからです。あるいは、 'jQuery.noConflict()'を使って複数のバージョンを共存させることもできます。 – Barmar

+0

okだから私はそれを変更したときに動作しました:fileref.setAttribute( "src"、 "https://code.jquery.com/jquery-1.10.2.min.js"); – m3kkis

関連する問題