2012-06-14 10 views
5

इंजेक्शन दिया गया है, मैं उस पृष्ठ से डेटा खींचने का प्रयास कर रहा हूं जिसे उपयोगकर्ता एक्सटेंशन पॉपअप में उस डेटा को देख और भेज रहा है। मैं वर्तमान पृष्ठ से जानकारी निकालने में परेशानी में भाग रहा हूं। Google कोड ट्यूटोरियल की समीक्षा करने के बाद, मैंने नीचे दिखाए गए अनुसार अपनी मेनिफेस्ट और सामग्री स्क्रिप्ट सेट अप की है। जब मैं एक परीक्षण पृष्ठ पर जाता हूं, जिसमें आईडी = "टिप्पणियां" के साथ एक अवधि होती है, तो इंजेक्शन सामग्री स्क्रिप्ट से मेरा चर हमेशा शून्य के रूप में समाप्त होता है। किसी को पता है कि मैं क्या खो सकता है? धन्यवाद!क्रोम एक्सटेंशन सामग्री स्क्रिप्ट पृष्ठ के डीओएम तक नहीं पहुंच रही है जिसमें इसे

manifest.json 
================= 
{ 
    "name": "Sample Extension", 
    "version": "0.0.1", 
    "description": "Sample extension", 
    "icons": {"128": "icon.png"}, 
    "permissions": [ 
     "tabs", "<all_urls>" 
    ], 
    "browser_action": { 
     "default_icon": "browseraction.png", 
     "default_title": "Sample", 
     "popup": "popup.html" 
    }, 
    "content_scripts": [ 
     { 
      "matches": ["http://*/*", "<all_urls>" ], 
      "js": ["scripts/contentscript.js"] 
     } 
    ] 
} 

contentscript.js 
=================== 
var comments = document.getElementById("comments"); 
alert(comments.innerText); 

उत्तर

6

संभव है कि टिप्पणियां आपकी स्क्रिप्ट के निष्पादन के बाद लोड हो जाएं।

प्रकट में इस सेट करने के लिए प्रयास करें:

 "run_at" : "document_end", 

या यदि आप एक AJAX लोड हो रहा है पर शक, अपने कोड बाद में एक setTimeout साथ कहते हैं।

बेशक सबसे अच्छी योजना सटीक पृष्ठ और इसके आंतरिक काम पर निर्भर करेगी।

+1

+1 लेकिन उसे शायद 'टेक्स्टकंटेंट' का उपयोग करना चाहिए। –

+0

धन्यवाद, दोस्तों! मैंने "run_at" और "textContent" का उपयोग करके दोनों सुझावों का उपयोग किया, और उन्होंने पूरी तरह से काम किया। – sojo2600

+0

'आंतरिक टेक्स्ट' क्रोम एक्सटेंशन डेवलपर मैनुअल में वकालत की है। - यहां से बचने की कोई ज़रूरत नहीं है। –

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