Chrome एक्सटेंशन में background.js से कंसोल संदेश कहां पढ़ें?


194

मैंने अभी Google Chrome एक्सटेंशन के साथ शुरुआत की है और मैं अपने बैकग्राउंड js से कंसोल को लॉग इन नहीं कर सकता। जब कोई त्रुटि (उदाहरण के लिए एक सिंटैक्स त्रुटि के कारण) होती है, तो मुझे कोई त्रुटि संदेश नहीं मिल सकता है।

मेरी मैनिफ़ेस्ट फ़ाइल:

{
  "name": "My First Extension",
  "version": "1.0",
  "manifest_version": 2,
  "description": "The first extension that I made.",
  "browser_action": {
    "default_icon": "icon.png"
  },
  "background": {
    "scripts": ["background.js"]
  },
  "permissions": [
    "pageCapture",
    "tabs"
  ]
}

background.js:

alert("here");
console.log("Hello, world!")

जब मैं एक्सटेंशन को लोड करता हूं, तो अलर्ट आता है लेकिन मुझे कंसोल में लॉग इन किया हुआ कुछ भी दिखाई नहीं देता। मैं क्या गलत कर रहा हूं?



कृपया संदेश या सूचना का चयन करें यदि हाइलाइट बार अन्य टैब पर है जैसे कोई
क्रिया

जवाबों:


376

आप गलत जगह देख रहे हैं। लॉग कंसोल संदेश वेब पेज में दिखाई नहीं देते हैं, लेकिन (अदृश्य) पृष्ठभूमि पेज में। कंसोल में इन संदेशों को देखने के लिए, इन चरणों का पालन करें:

पर जाएँ chrome://extensions/
आप एक्सटेंशन आइकन पर राइट-क्लिक भी कर सकते हैं, फिर "एक्सटेंशन प्रबंधित करें" पर क्लिक करें।

  1. डेवलपर मोड सक्षम करें
  2. अपने पृष्ठभूमि पृष्ठ के लिंक पर क्लिक करें ("विचारों का निरीक्षण करें")।
  3. डेवलपर कंसोल इस पृष्ठ के लिए खुलता है ।

नई UI:

यहां छवि विवरण दर्ज करें यहां छवि विवरण दर्ज करें

पुराना UI:

छवि


@ रॉब, मेरे पास विस्तार का विस्तार करने के लिए त्रिकोणीय बटन नहीं है और कोई सक्रिय दृश्य नहीं देखता है। क्या यह उत्तर अब नवीनतम Chrome बिल्ड का समाधान नहीं है या क्या मुझे कुछ याद आ रहा है?
gwg

1
@ggundersen मैंने चित्र अपडेट किया है। त्रिकोण को हटा दिया गया है, यह कदम अब स्वचालित रूप से तब होता है जब डेवलपर मोड सक्रिय होता है।
रॉब डब्ल्यू

तब आप सामग्री स्क्रिप्ट को कैसे डीबग करते हैं?
सुपरयूपरड्यूपर

1
@SuperUberDuper जहां सामग्री स्क्रिप्ट चल रही है, टैब में devtools के माध्यम से।
रॉब डब्ल्यू।

13

मुझे भी यही समस्या थी, मेरे मामले में क्रोम डेवलपर टूल में कंसोल टैब में लॉगिंग को "सभी को छिपाएं" पर सेट किया गया था। मुझे यह एहसास भी नहीं था कि यह एक विकल्प था, और मैं इसे बंद करना याद नहीं कर सकता

क्रोम डे टूल में कंसोल टैब में सेटिंग का स्क्रीनशॉट


7

उन अनुयायियों के लिए जो अपने क्रोम एक्सटेंशन की "सामग्री स्क्रिप्ट" के लिए डिबग कंसोल देखना चाहते हैं, यह एक सामान्य "शो डेवलपर कंसोल" करके उपलब्ध है, फिर ड्रॉपडाउन तीर का उपयोग करके इसके "जावास्क्रिप्ट वातावरण" का चयन करें, फिर आपकी पहुंच होगी इसके तरीकों के लिए, आदि।

यहां छवि विवरण दर्ज करें


5

इसके साथ ही

आप देखना चाहते हैं, तो content_scriptमें js फ़ाइल (जब "पृष्ठभूमि" गुण सेट नहीं है) में manifest.json

"content_scripts": [{
    "matches": ["<all_urls>"],
    "js": ["popup.js"],
  }]

"browser_action": {
    "default_icon": "icon_32.png",
    "default_popup": "popup.html"
  }

उसके बाद एक्सटेंशन आइकन पर राइट क्लिक करें और पॉपअप पेज खुलने के साथ इंस्पेक्ट पॉपअप और डेवलपर विंडो खुलता है, वहां पर आपको कंसोल टैब दिखाई देता है।


9
1) यह प्रश्न का उत्तर नहीं देता है, 2) यह केवल गलत है; कंटेंट स्क्रिप्ट संदेशों को उस पेज के कंसोल में प्रवेश करती है, जिसे वास्तविक ब्राउज़र टैब पर इंजेक्ट किया जाता है। मुझे लगता है कि आपके कोड में, popup.jsपुन: उपयोग किया गया था popup.htmlऔर जैसे ही उस प्रतिलिपि का आउटपुट आपके द्वारा बताए गए स्थान पर जाता है। लेकिन यह पूरी तरह से भ्रामक है।
Xan

2
इस उत्तर से मुझे क्रोम एक्सटेंशन के लॉग को जांचने में मदद मिलती है जो पॉपअप के रूप में चलता है
RashFlash

1

Michiel के जवाब के समान ही मेरे पास एक मज़ेदार कंसोल कॉन्फ़िगरेशन भी था: एक फ़िल्टर जिसकी सेटिंग मुझे याद नहीं है:

यहां छवि विवरण दर्ज करें

फ़िल्टर साफ़ करने के बाद मैंने संदेश देखे।


1

अगर हम पॉपअप पेज से कंसोल पर छपे संदेशों को पढ़ना चाहते हैं, तो हम पॉपअप पेज को खोलने के लिए एक्सटेंशन आइकन पर क्लिक कर सकते हैं, फिर कहीं भी पॉपअप पेज पर राइट क्लिक करें, एक ड्रॉपडाउन मेनू प्रदर्शित होगा, हम बस "निरीक्षण" मेनू पर क्लिक करें डेवलपर टूल खोलें। ध्यान दें कि पॉपअप पृष्ठ को खोलते रहना चाहिए। यदि यह बंद है (window.close () द्वारा), तो डेवलपर टूल भी बंद हो जाएगा।


0

मुझे भी यह समस्या थी। ऐसा लगता है मानो मेरा वेबपेज नई बचाई गई स्क्रिप्ट में अपडेट नहीं हो रहा है। यह क्रोम ब्राउज़र में Ctrl+ रिफ्रेश (या Ctrl+ F5) दबाकर हल किया गया था ।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.