2013-05-20 33 views
0

我編寫了一個DOM樹保護程序Chrome擴展,以檢查DOM樹是否更改。我有background_page中的js文件,我如何在其他測試html文件中獲取這些console.logs()?我現在只能找到的是chrome:// extensions /的調試信息,當我點擊generated_background_page.html時。那麼我怎樣才能獲得其他網頁的信息呢?感謝回覆。如何獲得Chrome擴展的調試信息

回答

2

在調試Chrome擴展時,我發現一件非常有用的事情是使用chrome開發人員工具的「檢查元素」功能。如果你有,你要調試頁面或元素(如從你的擴展彈出):

Open up Developer Tools 
Wait for your popup to appear (if its not already up) 
Switch to the Elements view on Developer Tools 
Click the magnifying glass at the bottom so you can select an element 
Click on an element in the page you want to debug (e.g. the popup page) 

現在你的源代碼查看和其他視圖排隊你所點擊的元素相匹配。控制檯現在讓你看看在這種情況下的變量。

如果您無法獲得擴展程序的工作,可能有一系列的原因。

  1. 是否所有的腳本都是從擴展的目錄加載的,或者您是從網站上爲 服務的嗎? Chrome不會從外部網站 加載腳本,除非通過https和服務腳本的網站將 列入白名單。有關更多信息,請參閱Chrome Content Security Policy
  2. 要檢查DOM,您需要將內容腳本注入到正在加載的頁面中。你確定你這樣做是否正確? manifest.json必須正確完成,否則您的content script將無法​​加載。
  3. 對於您的內容腳本和擴展程序進行通信,您必須發佈和接收消息。更多信息是available here

也許我的最好的建議是,你仔細地按照Chrome extension "tutorial",直到你有一些工作,然後修改它,以滿足您的需求。

+0

感謝您的回覆,但這不是元素標記中的問題。我想知道的是控制檯標籤中的東西。有一些輸出,如果我點擊generated_background_page.html,它是頁面chrome:// extensions /的調試信息。我想讓它在控制檯標籤中顯示一些網站或本地頁面的控制檯日誌。 – user1261718

+0

我不明白,所以一些更多的澄清/信息將是有用的。 1)當你說「控制檯標籤」時,你是指Chrome開發者工具(即調試器)的控制檯選項卡嗎? 2)你在chrome:// extensions/page中查看chrome擴展行爲嗎? 3)網站或本地頁面的控制檯日誌是什麼意思? –

+0

1)哦,這是一個錯字,它是輸出的控制檯選項卡。 2)我所做的擴展只能讓開發工具的控制檯選項卡中的唯一頁面chrome:// extensions /的console.logs()出來。我想要這個console.logs()其他頁面。我編寫了遍歷DOM樹的功能,並將節點的名稱打印出來,我只能得到SCRIPT3的一個,它是該設置頁面的一個。我想要獲得其他網頁DOM樹並將其打印出來。 – user1261718