2011-04-19 55 views
10

當我嘗試cd,控制檯說「cd沒有定義」如何在chrome開發人員工具或Chrome中使用Firebug Lite將光標放入iframe中?

+0

解釋你是什麼意思'CD插入iframe'? – JohnP 2011-04-19 06:00:20

+0

'cd'是一個命令,用於在終端窗口中更改目錄,例如在Windows的開始菜單中鍵入'cmd'時打開的窗口,或Mac或Ubuntu上的終端中打開的窗口。如果您按照一些說明進入目錄,他們希望您將命令輸入到這樣一個窗口中,並且它們在Firebug或Chrome開發人員工具中不起作用。至於使用開發工具在iframe中運行javascript命令,我仍然在自己尋找這個答案。 – undefined 2011-05-18 23:06:37

+1

說得很清楚,cd「允許你在頁面中使用一個框架的窗口」 http://getfirebug.com/wiki/index.php/Command_Line_API#cd.28window.29 – chrismarx 2011-05-30 23:49:55

回答

4

是的,你是對的螢火蟲有這個令人敬畏的命令。我很喜歡。它使得iframes變得更容易。就個人而言,我不會僅僅因爲其中有cd()就可以訪問Firefox,因爲我可以在chrome開發工具中使用cd做任何事情。

只需在命令提示符中使用contentWindow關鍵字即可訪問iframewindow對象。那麼你會很好地訪問任何功能和變量。

例如,我在我的iframe中有一個變量,通過控制檯無法正常訪問。

但我仍可以通過contentWindow訪問的變量是這樣的:

theIfraem.contentWindow.secret; 

enter image description here

如果你想火的功能做到這一點:

theIframe.contentWindow.myfunc(); 

如果你想定義一些變量(最難的):

var script = document.createElement('scrept'); 
script.innerHTML = "var secret = 'hi'"; 
theIframe.contentWindow.document.body.appendChild(script); 

這是cd()實際上所做的。我知道它不如Firebugs cd()。但好消息是cd() is coming to Chrome

+2

請注意狀態欄中的「」選擇框(也可在上面的屏幕截圖中找到。 )它類似於cd(),並且將確定將對其「窗口」上下文控制檯命令進行評估的幀。 – 2011-12-29 11:39:48

+2

僅適用於同域iframe,不適用於跨域iframe。 – 2015-02-04 20:17:45

13

在Chrome中Devtools中,「上下文切換」可在頁面的底部。請參閱<top frame>下拉菜單?在那裏你可以改變腳本執行的地方。這與cd()一樣有效。

這更https://stackoverflow.com/a/8581276/89484

+2

對於那些瘋狂搜索該菜單的用戶,它現在位於過濾器旁邊的控制檯選項卡下。 – twig 2015-04-17 05:35:48

相關問題