2017-07-12 10 views
-1

コードに公開されたときは、ローカルでホストされている。しかしない:クローム拡張作成 - 拡張ワークスすると、Webストア

function showpanel() {  
    var video = document.getElementsByClassName("jw-video")[0].src; 
    console.log(video); 
    window.open(video, '_blank'); 
} 

setTimeout(showpanel, 1000); 

説明:
この質問は、これが起こってではなく、しようとしている理由を不思議についての詳細です修理する。

123movies.isからウイルスをダウンロードせずにビデオをダウンロードしたいので、私は弟から作ったのです。私はもともと私のウェブポートフォリオのサイトを通してそれを作ろうとしていましたが、私はそれが拡張でそれを行う方がはるかに簡単であることに気付きました。

私の個人用PCにファイルをローカルにホストすると、すべて正常に動作します。ムービーページが読み込まれると、videoタグのsrcを持つ新しいタブが開き、ダウンロードボタンを押すだけです。私はGoogleのChromeウェブストアへの拡張ファイルを公開したときにしかし、私は映画のページをロードいつでも私は、これら2つのエラーを取得:


Uncaught TypeError: Cannot read property 'src' of undefined at showpanel (chrome-extension://pefemfiejenbjbbbilkiejfnpcjpeoaf/content.js:2)


Failed to load resource: net::ERR_TOO_MANY_REDIRECTS


拡張機能がウェブストアに公開されている場合にのみ、これらのエラーが発生する原因は何ですか?

+0

問題を重複している[mcve]を含めてトピック上にある質問を編集してください。 Chrome拡張機能やFirefox WebExtensionsの場合は、* manifest.json *や背景/コンテンツ/ポップアップスクリプト/ HTMLの一部を含むことがほとんどです。 (1)望ましい動作、(2)特定の問題またはエラー、および(3)それを再現するために必要な最短のコードを含める必要があります。質問自体に*。また、[ここで私はどのような話題を聞くことができますか?](http://stackoverflow.com/help/on-topic)、[ask]を参照してください。 – Makyen

+0

参照:[JavaScript/jQuery DOMの変更リスナーはありますか?](https://stackoverflow.com/q/2844565) – Makyen

答えて

0

プロジェクト全体を見ることなくこの問題の原因を正確に知るのは難しいです。

しかし、私がやることはいくつかあります。 1)ターゲットページのいずれかのコンソールでコードを実行します。 2)ターゲットとするサイトでのみ動作する簡単なコンソールログステートメントを使用して、Chromeウェブストアに拡張機能を読み込みます。次に、問題がコードか拡張マニフェストかどうかを確認します。マニフェストは通常​​、初心者の初心者が正しいものになるための最も難しい部分です。 3)それが動作する場合、およびコードは、拡張内のコードと同じですが、あなたはそれはあなたがウェブストアからそれを実行したとき

document.getElementsByClassName("jw-video")[0] 

が定義されていないということである理由を見ています。まず、私はタイマーで実行するように設定するのではなく、イベント

document.addEventListener("DOMContentLoaded", function(event) { 
    console.log("DOM fully loaded and parsed"); 
    showpanel(); 
}); 

に関数を結びつけるでしょう。それから、document_endではなくdocument_startにスクリプトを挿入します。このような拡張子の未定義メッセージは、マニフェストのコンテンツスクリプトの挿入、おそらく注入のタイミングやウェブサイトのプロトコルと一致するアクセス許可に関係するものです。

関連する問題