javascript - $ x() फ़ंक्शन किसी क्रोम एक्सटेंशन, सामग्री स्क्रिप्ट के अंदर परिभाषित नहीं है



google-chrome xpath (1)

$x() वेब पेज या सामग्री स्क्रिप्ट के रन-टाइम वातावरण का हिस्सा नहीं है यह एक ऐसा उपकरण है जो Chrome के DevTools के लिए कमांड लाइन एपीआई का हिस्सा है।

एक सामग्री स्क्रिप्ट में XPath का उपयोग करने के लिए, आपको इसे सामान्य तरीके से करना होगा, DevTools सुविधाजनक शॉर्टकट उपलब्ध नहीं है।

आपका कोड ऐसा दिखेगा:

var jpgLinks    = document.evaluate (
    "//a[contains(@href,'.jpg')]",
    document,
    null,
    XPathResult.ORDERED_NODE_SNAPSHOT_TYPE,
    null
);
var numLinks    = jpgLinks.snapshotLength;

for (var J = 0;  J < numLinks;  ++J) {
    var thisLink = jpgLinks.snapshotItem (J);
    console.log ("Link ", J, " = ", thisLink);
}

- जो ऐसी चीज है जो $x() आपके लिए कर रही थी, पर्दे के पीछे

जब आप उस पर हैं, तो सीएसएस चयनकर्ताओं पर स्विच करने पर विचार करें। फिर एक ही कार्यक्षमता है:

var jpgLinks    = document.querySelectorAll ("a[href$='.jpg']");
var numLinks    = jpgLinks.length;

for (var J = 0;  J < numLinks;  ++J) {
    var thisLink = jpgLinks[J];
    console.log ("Link ", J, " = ", thisLink);
}

- जो मेरी किताब में बहुत अधिक स्वादिष्ट है

$x("//a[contains(@href,'.jpg')]");

डेवलपर टूल्स कमांड प्रॉम्प्ट से अपेक्षित काम करता है लेकिन, जब एक एक्सटेंशन की सामग्री-स्क्रिप्ट में मुझे ' $x is not defined ' मिलता है

यह सामग्री-स्क्रिप्ट में क्यों उपलब्ध नहीं है या सामग्री-स्क्रिप्ट / क्रोम एक्सटेंशन के अंदर इसे एक्सेस करने का एक खास तरीका है?

मैं डेबियन पर क्रोम 22 का उपयोग कर रहा हूँ





content-script