2014-09-30 85 views
0

通常,當我使用Chrome的開發者工具的Console選項卡上,我看到iFrame的列表如下所示:爲什麼chrome開發工具顯示擴展ID吹iFrames?

enter image description here

然而,當我安裝了一定的延伸我看到下面的擴展ID一批在Console選項卡的I幀像以下:

enter image description here

  1. 任何人能告訴我是什麼d這意味着什麼?我想這些iFrames的父母是擴展名,但我不確定。如果我錯了,誰能糾正我嗎?

  2. 此外,如果那些iFrames的父母是擴展是有什麼辦法來跟蹤他們?通過跟蹤它們,我的意思是說我想爲所有這樣的幀運行命令window.open = function() { debugger; },我可以這麼做嗎?

回答

1

你在看什麼是擴展內容腳本。它們實際上是作爲每個選項卡的子項或每個iFrame(在此擴展的情況下)加載的。

如果選擇一個控制檯,然後執行:

> chrome.runtime.getManifest() 

最相關的輸出是:

{ ... 
content_scripts: Array[1] 
    0: Object 
    all_frames: true 
    js: Array[#] 
     0: "content.js" 
     ... 

這裏,all_frames是你看到每一幀經過反覆的延長期限的理由而不是在標籤的主窗口下。

(也有可能是背景,你可以在設置擴展的上市視察。)

要調試的內容腳本,實際上是開發者控制檯 - >來源下一個標籤。在這裏,我已經設置特定行上斷點的內容的腳本初始化期間(擴大與「{}」的圖標的代碼後):

Breakpoint on a Content Script

當改變的iFrame或重新加載整個窗口,每個內容腳本然後在開發人員工具打開時暫停。

有一些content script limits,所以你不應該能夠從另一個iFrame從另一個任意執行代碼,雖然有一個消息傳遞系統,如果監聽器是專門設置的,可以實現類似的結果。

+0

對不起之前沒有接受它。我沒有機會驗證它。 – 2014-10-15 05:27:56

相關問題