[android] मैं एंड्रॉइड पर जावास्क्रिप्ट कैसे डिबग कर सकता हूं?


8 Answers

प्रयत्न:

  1. वह पृष्ठ खोलें जिसे आप डीबग करना चाहते हैं
  2. उस पृष्ठ पर, एक स्टॉक एंड्रॉइड ब्राउज़र के पता बार में, टाइप करें:

    about:debug 
    

    (नोट कुछ नहीं होता है, लेकिन कुछ नए विकल्प सक्षम किए गए हैं।)

मैंने कोशिश की डिवाइस पर काम करता है। एंड्रॉइड ब्राउजर के बारे में और पढ़ें : डीबग, ये सेटिंग्स क्या करती हैं?

संपादित करें: इस कोड को अपनी स्क्रिप्ट में जोड़ने के लिए लाइन नंबर जैसी अधिक जानकारी पुनर्प्राप्त करने में भी क्या मदद करता है:

window.onerror = function (message, url, lineNo){
    console.log('Error: ' + message + '\n' + 'Line Number: ' + lineNo);
    return true;
}
Question

मैं एक परियोजना पर काम कर रहा हूं जिसमें राफेलज शामिल हैं। बाहर निकलता है, यह एंड्रॉइड पर काम नहीं करता है। यह आईफोन पर करता है

एंड्रॉइड ब्राउजर पर कुछ डिबग करने के बारे में मैं कैसे जा सकता हूं? यह वेबकिट है, इसलिए यदि मैं संस्करण जानता हूं, तो वेबकिट के उस पूर्ण संस्करण पर इसे डिबग करने से वही परिणाम मिलेंगे?




एड्रेस लाइन chrome://about में डालें chrome://about । आप सभी संभावित देव पृष्ठों के लिंक देखेंगे।




इस link मुताबिक, जावास्क्रिप्ट डिबगिंग link में उल्लिखित firebug.js फ़ाइल को डाउनलोड करके और डाउनलोड की गई फ़ाइल को अपने एचटीएमएल पेज में लोड करके किया जा सकता है ताकि आप बिना किसी रिज़ॉर्ट के डीबग कर सकें।




यदि आप 'हाइब्रिड' ऐप (कॉर्डोवा) बना रहे हैं, तो क्रॉसवॉक प्लगइन एंड्रॉइड के साथ आने वाले मानक इंटरनेट वेबव्यू के बजाय Google क्रोम वेबव्यू का उपयोग करता है। जब मैंने प्लगइन स्थापित किया, तो यह डीबग करने की क्षमता के साथ आया।

CrossWalk




राफेल प्री 3.0 एंड्रॉइड ब्राउज़र पर समर्थित नहीं है, यही आपकी समस्या है। उन्हें एसवीजी ग्राफिक्स के लिए कोई समर्थन नहीं है। हालांकि कैनवास के लिए इसका समर्थन है। यदि आपको इसे एनिमेट करने की आवश्यकता नहीं है, तो आप ग्राफिक्स को कैनव के साथ प्रस्तुत कर सकते हैं:

http://code.google.com/p/canvg/

इस प्रकार हम डिफ़ॉल्ट एंड्रॉइड ब्राउज़र में एसवीजी आइकन को प्रस्तुत करने के लिए इस मुद्दे के आसपास पहुंचे।




एफवाईआई, यही वजह है कि राफेलजेएस एंड्रॉइड पर काम नहीं करता है कि एंड्रॉइड वेबकिट (आईफोन वेबकिट के विपरीत) इस समय एसवीजी का समर्थन नहीं करता है। Google ने हाल ही में इस निष्कर्ष पर पहुंचाया है कि एसवीजी एक एंड्रॉइड का समर्थन करता है, यह एक अच्छा विचार है, इसलिए यह कुछ समय तक उपलब्ध नहीं होगा।




यदि आप गैर दूरस्थ विकल्पों की तलाश में हैं:

पहले और गैर जड़ वाले जेलीबीन रिलीज पर एक लॉककैट दर्शक का उपयोग किया जा सकता है यदि एंड्रॉइड.permission.READL_LOGS को एडीबी के माध्यम से एक बार दिया जाता है।

फ़ायरफ़ॉक्स पर, एक कंसोल एडन होता है जो सभी ऐप लॉग पढ़ता है और दिखाता है और फायरबग लाइट भी है।




मैं अपाचे कॉर्डोवा का हिस्सा Weinre उपयोग करता Weinre

वेनरे के साथ, मुझे अपने डेस्कटॉप ब्राउज़र में Google क्रोम का डीबग कंसोल मिलता है, और एंड्रॉइड को उस डीबग कंसोल से कनेक्ट कर सकता है, और एचटीएमएल और सीएसएस डीबग कर सकता है। मैं कंसोल में जावास्क्रिप्ट कमांड निष्पादित कर सकता हूं, और वे एंड्रॉइड ब्राउज़र में वेब पेज को प्रभावित करते हैं। एंड्रॉइड से लॉग संदेश डेस्कटॉप डीबग कंसोल में दिखाई देते हैं।

हालांकि मुझे लगता है कि वास्तविक जावास्क्रिप्ट कोड को देखना या कदम करना संभव नहीं है। तो मैं लॉग संदेश के साथ Weinre गठबंधन।

(मुझे http://jsconsole.com/remote-debugging.html बारे में बहुत कुछ नहीं पता लेकिन मुझे ऐसा लगता है कि जेकोनसोल के साथ एचटीएमएल और सीएसएस निरीक्षण संभव नहीं है, केवल जावास्क्रिप्ट कमांड और लॉगिंग (?)।)




एंड्रॉइड एमुलेटर चलाते समय, अपना Google क्रोम ब्राउज़र खोलें, और 'पता फ़ील्ड' में, दर्ज करें:

chrome://inspect/#devices

आप अपने रिमोट लक्ष्यों की एक सूची देखेंगे। अपना लक्ष्य पाएं, और 'निरीक्षण' लिंक पर क्लिक करें।




Related