2011-04-19 31 views
10

जब मैं सीडी का प्रयास करता हूं, कंसोल कहता है "सीडी परिभाषित नहीं किया गया है"क्रोम डेवलपर टूल या क्रोम में फायरबग लाइट में आईफ्रेम में सीडी कैसे कर सकता हूं?

+0

में अधिक से समझाया गया है? – JohnP

+0

'cd' एक कमांड है जिसका उपयोग टर्मिनल विंडो में निर्देशिकाओं को बदलने के लिए किया जाता है, जैसे विंडो में जो स्टार्ट मेनू में 'cmd' टाइप करते हैं, या मैक या उबंटू पर टर्मिनल में टाइप करते समय विंडो खुलती है। यदि आप निर्देशिका में सीडी में कुछ निर्देशों का पालन कर रहे हैं, तो वे उम्मीद कर रहे हैं कि आप इस तरह की विंडो में कमांड टाइप कर रहे हैं, और वे फायरबग या क्रोम डेवलपर टूल में काम नहीं करेंगे। एक आईफ्रेम के भीतर जावास्क्रिप्ट कमांड चलाने के लिए डेवलपर टूल का उपयोग करने के बाद भी, मैं अभी भी उस उत्तर की तलाश कर रहा हूं। – undefined

+1

स्पष्ट रूप से कहता है, सीडी "आपको पृष्ठ में एक फ्रेम की विंडो का उपयोग करने की अनुमति देता है" http://getfirebug.com/wiki/index.php/Command_Line_API#cd.28window.29 – chrismarx

उत्तर

4

हां, आप सही हैं फायरबग के पास यह भयानक आदेश है। मुझे वास्तव में यह पसंद है। यह iframes के साथ wotking बना रहा है बहुत आसान है। निजी तौर पर मैं फ़ायरफ़ॉक्स पर नहीं जाता क्योंकि cd() इसमें उपलब्ध है क्योंकि मैं क्रोम देव टूल्स में सीडी के साथ जो कुछ भी कर सकता हूं वह कर सकता हूं।

iframewindow ऑब्जेक्ट तक पहुंचने के लिए बस अपने कमांड प्रॉम्प्ट में contentWindow कीवर्ड का उपयोग करें। फिर आप किसी भी फंक्शन और वैरिएबल को एक्सेस करने के लिए अच्छा होगा।

उदाहरण के लिए मेरे पास 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() वास्तव में करता है। मुझे पता है कि यह फायरबग सीडी() के रूप में उतना अच्छा नहीं है। लेकिन अच्छी खबर यह है cd() is coming to Chrome

+2

स्टेटस बार में "" चयन बॉक्स पर ध्यान दें (ऊपर स्क्रीनशॉट में भी पाया गया है।) यह सीडी() के समान है और उस फ्रेम को निर्धारित करेगा जिसमें "विंडो" संदर्भ कंसोल कमांड का मूल्यांकन किया जाएगा। –

+2

केवल उसी डोमेन iframes के लिए काम करते हैं, क्रॉस डोमेन iframes में नहीं। –

13

Chrome DevTools में, "संदर्भ स्विचर" पृष्ठ के तल पर उपलब्ध है। <top frame> ड्रॉपडाउन देखें? वहां आप बदल सकते हैं कि आपकी स्क्रिप्ट कहां से निष्पादित हो रही है। यह cd() के रूप में प्रभावी रूप से वही है।

यह तुम्हारा क्या मतलब है `एक iframe` में सीडी https://stackoverflow.com/a/8581276/89484

+2

उन मेनू के लिए बेतरतीब ढंग से खोज रहे लोगों के लिए, अब यह फ़िल्टर के बगल में कंसोल टैब के नीचे है। – twig