5

URL をバックグラウンドで開く方法と、そこからデータを取得する方法を教えてください。開きたい URL は、そこからデータを取得するページにもあります。XPath を使用してデータを取得します。これは私のコードです:

Popup.js

chrome.tabs.query({
active: true, 
currentWindow: true }, function(tabs){
if(tabs[0].url.indexOf("extranet.louvre-hotels.fr")!=-1)
{
    chrome.tabs.sendRequest(tabs[0].id, {
        action: "getDOM"
    }, function(response)

    {   
        chrome.tabs.getSelected(null, function(tab) {
    // get response
        });         
    });
}

});

マニフェスト.json

{
"manifest_version": 2,

"name": "SymaExtract",
"description": "SymaExtract",
"version": "1.0",
"browser_action": {
    "default_icon": "icon.png",
    "default_popup": "popup.html"
},
"permissions": [
    "webNavigation",
    "tabs",
    "background",
    "http://localhost/extract.php",
    "http://*/*"

],
"background": {
    "scripts": ["background.js"]
},
"content_scripts": [
{
  "matches": ["http://*/*"],
  "js": ["dom.js"]
}

] }

Background.js

chrome.tabs.create({url: 'url_that_i_want_to_open'});
4

1 に答える 1

3

「バックグラウンドでタブを開く」とはどういう意味ですか? ある種のページ フェッチがバックグラウンドで行われているという事実をユーザーから隠したいですか? もしそうなら、現在の Chrome 拡張 API では不可能だと思います。

この質問を確認してください: Chrome 拡張機能から JavaScript の重いページを取得する方法

私は数ヶ月前に同じ問題に直面しました。

新しいタブ/ウィンドウが開いていることにユーザーが気付くかどうかを気にしない場合は、新しいタブを作成し、それにフォーカスを設定しないでください。これは簡単です。拡張機能のドキュメントを確認してください。

ところで、私の意見では、Xpath は進むべき道ではありません。データの解析には CSS の方が適していると思います。

この最近の回答も確認してください: Chrome extension: How to open a link in new tab?

于 2013-07-23T18:46:57.147 に答える