2012-05-08 1 views
1

こんばんはみんなのリダイレクト。クロームタブURLは、私はChromeの拡張機能を始めていますし、特定のシナリオでは、私は、ユーザーのタブの(変更URL)をリダイレクトする必要があり、</p> <p>を

はここに私のコード

function changeTabURL(tabName,addr) { 
var tabId=parseInt(localStorage.getItem(tabName)); //fetch tab ID 

chrome.tabs.update(tabId,{"url":addr}); 

} 

が今ここに起こっていることだだ、クローム:// ...事は私のURLの先頭に追加されています! は、私が「http://www.google.com」にタブをリダイレクトしようと言って、これは何が起こるかです:クロム拡張子:// oihdngeahhchnacpilhnmaknneooabbc/HTTP

「いいえ、ウェブページは、ウェブアドレスが見つかりませんでした://www.google.com "

私はこれを振ることができません! URLを最初にリセットしようとしました。

chrome.tabs.get(tabId,function(tab) { 
tab.url=''; 
alert(tab.url); 
}); 
chrome.tabs.update(tabId,{"url":addr}); 
} 

何も私はこれを揺さぶっていません。

どのような考えですか?

+0

私はあなたのコンテンツスクリプトにここで言及しているコードを試してみました。リダイレクトに問題はありません。最初に「www.google.com」を試してみましたが、ここで言及したようなエラーが表示されました。しかし、そのURLを 'http:// www.google.com'に編集して、クロム設定から拡張機能を再読み込みしてから再試行しました。これは私のためにうまくいった。 –

+0

ねえ、ジョセフ、ありがとう!私はどのように、なぜ、それはあなたが言ったように、アドレスがhttp://の問題を解決していることを確認したときにはわかりません。 –

答えて

2

既にchrome.tabs APIを使用しているので、chrome.tabs.queryを使用してアクティブなタブを見つけ、そのIDを取得することができます。ここでは例です:

queryInfo = new Object(); 
queryInfo.active = true; 
chrome.tabs.query(queryInfo, function(result) { 
    var activeTab = result[1].id; 
    updateProperties = new Object(); 
    updateProperties.url = 'YOUR_URL_HERE'; 
    chrome.tabs.update(activeTab, updateProperties, function() { 
      // Anything else you want to do after the tab has been updated. 
    }); 
}); 
0

は、あなたがこのようなあなたのmanifest.jsonをして許可を設定している:

"permissions": [ 
"notifications", 
"contextMenus", 
"tabs", 
"contentSettings", 
"http://*/*", 
"https://*/*" 

]

関連する問題