2012-11-11 150 views
3

我有一個Chrome擴展程序,用於檢查頁面是否爲NYTimes.com。如果是這樣,它存儲該頁面的標題&通過PHP發送它。監聽器本身工作。我可以告訴,因爲PHP端輸出時間戳。對於每個請求,時間戳都存在。Chrome擴展程序無法從非活動標籤中獲取標題

問題是,當我通過按住CTRL打開一個Tab時,它不是活動選項卡。所以一個空白字段被髮送到我的PHP文件&我不知道頁面的標題。我如何從加載的頁面獲取數據,但不是活動窗口?

chrome.history.onVisited.addListener(function(result){ 
if (result.url.search("www.nytimes.com") >= 0 || result.url.search("nytimes.com") >= 0){ 
    title = result.title; 
    $.post("http://myURL.com/tmp/test.php", {titletag: title}); 
    console.log("Saving "+result.title); 
} 
}); 
+0

供參考:您的if條件不需要第一個子句。第二個子句就足夠了,因爲它是第一個子句的子字符串。 – xbonez

+0

感謝您的提示! – user1815584

回答

0

有一種變通方法,以便能夠做同樣的事情:

聲明JavaScript文件的注入您的清單:

"content_scripts": [{ 
    "matches": ["http://www.nytimes.com/*", "https://www.nytimes.com/*"], 
    "js": ["my_script.js"], 
    "run_at": "document_start" 
}], 

你my_script.js:

chrome.extension.sendRequest({'title':document.title}); 

在您的擴展主腳本中:

chrome.extension.onRequest.addListener(function(data) { 
    $.post("http://myURL.com/tmp/test.php", {titletag: data.title}); 
} 
相關問題