2011-09-21 12 views
51

में एम्बेडेड जावास्क्रिप्ट को डीबग और संपादित करने के लिए Google क्रोम का उपयोग करना क्रोम डेवलपर टूल ब्राउज़र में जावास्क्रिप्ट को संपादित करने की अनुमति देता है यदि जावास्क्रिप्ट एक .js फ़ाइल में है। हालांकि, ऐसा लगता है कि मुझे HTML पृष्ठ में एम्बेड की गई जावास्क्रिप्ट को संपादित करने की अनुमति नहीं है। यानी:HTML पृष्ठ

<script type="text/javascript> 
// code here that I want to debug/edit 
</script> 

यह मेरे लिए एक बड़ी समस्या है क्योंकि मेरे पास एक निश्चित पृष्ठ में एम्बेडेड जावास्क्रिप्ट है।

इस प्रश्न के समान: Edit JavaScript blocks of web page... live लेकिन यह फ़ायरफ़ॉक्स के बारे में है, क्रोम नहीं।

मैं Google क्रोम डेवलपर टूल का उपयोग करके HTML पृष्ठ में एम्बेडेड जावास्क्रिप्ट को कैसे संपादित कर सकता हूं?

+5

आप ओपेरा का उपयोग कर सकते हैं। ओपेरा इनलाइन जेएस और जेएस फाइलों के संपादन की अनुमति देता है। पृष्ठ को नरम पुनः लोड करने के बाद, आपके परिवर्तन लागू होंगे। राइट क्लिक> स्रोत> परिवर्तन करें> परिवर्तन लागू करें। – XP1

+1

@ XP1 ने कभी सोचा नहीं कि मैं एक ओपेरा समाधान +1 करूंगा। लेकिन यहां हम हैं। ओपेरा में लाइव संपादन के लिए +1। –

उत्तर

28

असल में क्रोम ऐसा करने की अनुमति देता है, में एचटीएमएल फाइलों का चयन करें डेवलपर टूल विंडो में टैब। आप जावास्क्रिप्ट के बजाय HTML देखेंगे और <script> टैग में ब्रेकपॉइंट जोड़ देंगे। इसके अलावा आप debugger; कमांड को स्क्रिप्ट के लिए जोड़ सकते हैं जिसे आप डिबग करना चाहते हैं। उदाहरण के लिए:

<script> 
// some code 
debugger; // This is your breakpoint 
// other code you will able to debugg 
</script> 

debugger; के दूर करने के लिए भूल जाते हैं जब आप अपनी वेबसाइट जारी करने के लिए नहीं करना चाहते।

+3

अभी भी मेरे लिए काम नहीं कर रहा है। चलिए एक उदाहरण के रूप में http://www.google.co.uk/ लेते हैं। क्रोम के साथ वहां ब्राउज़ करें और अपने डेवलपर टूल को फायर करें। मैं 'स्क्रिप्ट' टैब के नीचे .js फ़ाइल को संपादित कर सकता हूं लेकिन यदि मैं उस टैब के अंतर्गत 'www.google.co.uk/' या 'gzip.html' फ़ाइलों को संपादित करने का प्रयास करता हूं तो कुछ भी नहीं होता है। मैं कोड पर डबल क्लिक करता हूं लेकिन अगर मैं .js फ़ाइलों पर क्लिक करता हूं तो मुझे एक कर्सर संपादित नहीं होता है। क्या मैं कुछ भूल रहा हूँ??? –

+3

ठीक है आप सही हैं, लेकिन आप इसे 'एलिमेंट्स टैब' पर संपादित कर सकते हैं। – antyrat

+0

ब्रेकपॉइंट्स जोड़कर आप कंसोल – antyrat

1

तत्व टैब पर जाएं, अपनी स्क्रिप्ट ढूंढें, आपको जिस हिस्से की आवश्यकता है उसे राइट क्लिक करें और "HTML के रूप में संपादित करें" चुनें।

यदि HTML के रूप में संपादित नहीं होता है, तो नोड पर डबल क्लिक करें और इसे हाइलाइट और संपादन योग्य होना चाहिए।

+11

यदि आप जेएस ब्रेकपॉइंट पर रुकते समय "HTML के रूप में संपादित करें" में जेएस कोड बदलते हैं, तो यह स्रोत टैब में जेएस कोड को संशोधित नहीं करेगा। – Jez

+0

यह काम नहीं करेगा !! स्माइली चेहरे के लिए – JerryGoyal

29

मुझे उस फ़ाइल को ढूंढने में एक कठिन समय था जिसमें मेरी इनलाइन/एम्बेडेड जावास्क्रिप्ट थी। ये समस्या हो रही दूसरों के लिए, यह या उपयोगी नहीं हो सकता ...

विंडोज के लिए

enter image description here

सभी फ़ाइलें है कि बहुत सावधानी से रखा क्लिक करने के बाद दिखाए जाते हैं क्रोम 21.0.1180.89 मीटर का उपयोग करना बटन। देखें:

enter image description here

अब आप डिबगिंग शुरू हो सकता है ...

enter image description here

+18

+1। –

+0

उस स्माइली को एनएसए नाक की जरूरत है। –

+0

कभी-कभी चीजों पर क्लिक करते समय Google क्रोम आपको __Elements__ टैब से दूर ले जाएगा, भले ही आपने वहां शुरू किया हो। इसलिए यदि आप चीजों को संपादित नहीं कर सकते हैं, तो जांचें कि आप __Elements__ टैब में हैं। दुर्भाग्य से – Seanny123

14

इन उत्तरों में से कोई भी मेरे लिए काम किया है।

मेरे लिए क्या काम करता है यदि मेरे पास पहले से लोड किए गए पृष्ठ पर मेरा जावास्क्रिप्ट है, तो मैं उस जावास्क्रिप्ट को कॉपी कर सकता हूं, इसे संपादित कर सकता हूं, फिर इसे कंसोल में पेस्ट कर सकता हूं और यह किसी भी फ़ंक्शन को फिर से परिभाषित करेगा या जो भी मुझे फिर से परिभाषित करने की आवश्यकता है।

उदाहरण के लिए

, अगर पृष्ठ है:

<script> 
var foo = function() { console.log("Hi"); } 
</script> 

मैं स्क्रिप्ट के बीच सामग्री ले जा सकते हैं, इसे संपादित, तो जैसे डिबगर में दर्ज करें:

foo = function() { console.log("DO SOMETHING DIFFERENT"); } 

और यह काम करेंगे मेरे लिए।

या आप की तरह है,

function foo() { 
    doAThing(); 
} 

तुम बस में प्रवेश कर सकते

function foo() { 
    doSomethingElse(); 
} 

और foo नए सिरे से परिभाषित किया जाएगा।

शायद सबसे अच्छा कामकाज नहीं है, लेकिन यह काम करता है।

+4

इस उत्तर के लिए बहुत बहुत धन्यवाद! यह एकमात्र ऐसा था जो मेरे लिए भी काम करता था ... – bobo

+2

इस के लिए बहुत बहुत धन्यवाद! जो मैं खोज रहा हूं वह नहीं बल्कि यह काम करने वाला एकमात्र ऐसा है! –

+0

क्या यह पृष्ठ उस ब्राउज़र में खुल गया था जिसमें मैं stackoverflow में लॉग इन नहीं था ... लॉग इन बस इतना मैं इस जवाब को वोट दे सकता था। धन्यवाद इस समाधान के लिए एक गुच्छा! – RizJa

संबंधित मुद्दे