साथ जावास्क्रिप्ट त्रुटि मैं निम्नलिखित कोड जो एफएफ/क्रोम में काम करता हैकेवल आईई getElementsByTagName
var stack = [Array.prototype.slice.call(document.getElementsByTagName("body")[0].childNodes)], nodes, node, parent, text, offset;
while (stack.length) {
nodes = stack.pop();
for (var i=0, n=nodes.length; i<n; ++i) {
node = nodes[i];
switch (node.nodeType) {
case Node.ELEMENT_NODE:
if (node.nodeName.toUpperCase() !== "SCRIPT") {
stack.push(Array.prototype.slice.call(node.childNodes));
}
break;
case Node.TEXT_NODE:
text = node.nodeValue;
offset = text.indexOf("[test=");
if (offset >= 0 && text.substr(offset).match(/^(\[test=(\d+)\])/)) {
parent = node.parentNode;
var before = document.createTextNode(text.substr(0, offset));
link = document.createElement("a"),
after = document.createTextNode(text.substr(offset + RegExp.$1.length));
link.appendChild(document.createTextNode(text.substr(offset, RegExp.$1.length)));
link.setAttribute("href", "http://example.com/" + RegExp.$2);
parent.insertBefore(after, node);
parent.insertBefore(link, after);
parent.insertBefore(before, link);
parent.removeChild(node);
stack.push([after]);
}
}
}
}
मूल रूप से क्या यह करता है अगर यह पाता है [परीक्षण = 25] पेज में यह एक कड़ी में बदल देता है जो example.com/25 को
आईई में मैं निम्नलिखित त्रुटि मिलती है बताते हैं: JScript वस्तु पहली पंक्ति पर अपेक्षित:
var stack = [Array.prototype.slice.call(document.getElementsByTagName("body")[0].childNodes)], nodes, node, parent, text, offset;
यह त्रुटि दोनों IE7 और IE8 में होता है।
किसी भी मदद की सराहना की जाएगी।
धन्यवाद।
+1। और पूरी तरह से एक संयोग पक्ष के रूप में नोट: कुछ फ़ायरफ़ॉक्स जावास्क्रिप्ट मानक जो मैंने हाल ही में किया था, मैंने पाया कि एक खाली शाब्दिक '[]' और 'पुश' का उपयोग करके सरणी बनाना, विडंबनात्मक रूप से पर्याप्त है, यहां दिखाए गए तरीके से तेज़ है। –
दिलचस्प! 'पुश' ऊपर की तरह एक स्पैस-सूची (गायब वस्तुओं के साथ) को फिर से नहीं बना सकता है, लेकिन एक नोडलिस्ट के लिए आपको इसकी आवश्यकता नहीं होगी। – bobince
जानकारी के लिए धन्यवाद और विशेष रूप से उस अन्य प्रश्न के लिंक। मुझे ठीक इसी की तलाश थी। – Rob