タブのタブIDを取得して他のタブで使用するときに問題が発生しました。Chrome拡張機能でタブIDを取得する際の問題
開いているタブは1つ(google.com)コンテンツスクリプトを使用してgoogle.comにボタンを配置しました。 "cricinfo.com"というURLをクリックすると、ボタンが作成されます。 contentscript.js
$(ボディ).prepend( '(開き)
</button><textarea id="followup_text"></textarea>');
chrome.extension.sendRequest({"acturl":'http://cricinfo.com',"type":""});
chrome.extension.onRequest.addListener(
function(request, sender, sendResponse) {
if(request.greeting=="hello")
{
alert(sender.tab.url);
sendresponse({farwell:"thanks"});
}
else
sendresponse({farwell:"not recieved"});
});
});
Background.html
<script type="text/javascript" charset="utf-8">
chrome.extension.onRequest.addListener(
function(request, sender, sendResponse) {
chrome.tabs.create({"url":request.acturl,"selected":false},function(tab){
});
});
chrome.tabs.getSelected(null, function(tab){
chrome.extension.sendRequest(tab.id, {greeting:"hello"},function(response){console.log(response.farwell);});
}
})
</script>
今cricinfo.comはespncricinfo」にリダイレクトします。 co.jp "ので、このURLを元のタブ(google.comなど)に表示して、テキストエリア#follow_textに表示させます。
これを実行するには、espncricinfo.comでbackground.htmlからリクエストを送信するためのgoogle.comのtabIDが必要です。拡張機能では、contentscriptsのタブを使用することはできません。私はbackground.htmlでそれを使用することができません。
ありがとうございました。私がはっきりしないかどうかは分かりません。
したがって、リダイレクトの問題はありますか。 cricinfo.comまたはespncricinfo.comをテキストエリアに表示しますか?この特定のサイトの拡張機能を構築しているのですか、一般的な場合には機能するはずですか? – serg
リダイレクト(または更新)された後にタブURLを表示したい、つまりespncricinfo.comをテキストエリアに表示したいとします。そして、私はそれが親タブ(google.com)でのみ動作するように頼んだので、cricinfoのタブからいくつかの情報が必要になるので(リダイレクトされた後にURLを知らないと考えると)、これもうまくいくはずです。どうすればいいですか? – RaviTeja
これはどうでしょうか?新しいタブを作成して覚えておいてから、そのタブで起こっているすべてのURLチャネルを監視し、それらのURLをテキストエリアに表示します。それは働くだろうか?ちょうどリダイレクトするのは難しいですが、ユーザーのリダイレクト(リンクをクリック)からhttpリダイレクトを分離するのは難しいでしょう。 – serg