मैं नोडजेज़ में नया हूं। मैं कुछ वेब पृष्ठों को पार्स करने के लिए jsdom का उपयोग करना चाहता हूं जिसमें स्क्रिप्ट कोड हो सकता है। लेकिन मुझे त्रुटि मिली कि समारोह या चर परिभाषित नहीं किया गया था। क्या कोई इस बारे में कुछ निर्देश दे सकता है।jsdom वेब पेज के अंदर स्क्रिप्ट को संसाधित नहीं करता
मेरी कोड
var jsdom = require('jsdom');
jsdom.env({
html: 'http://10.200.0.10:8080/test/a.html',
scripts: [
'http://code.jquery.com/jquery-1.5.min.js'
],
done: function(errors, window) {
var $ = window.$;
window.onload();
console.log(window.a);
}
});
और यहाँ html पृष्ठ
<html>
<head>
<script>
var a = 0;
function loads(){
a=1000;
}
</script>
</head>
<body onload='loads()'>
</body>
</html>
और नीचे
dfddddfdf
undefined:1: ReferenceError: loads is not defined
loads()
^
ReferenceError: loads is not defined
at unknown source
at /root/node_modules/jsdom/node_modules/contextify/lib/contextify.js:10:24
at /root/node_modules/jsdom/lib/jsdom/level1/core.js:1024:50
at /root/testnode.js:18:12
at Array.0 (/root/node_modules/jsdom/lib/jsdom.js:199:39)
at EventEmitter._tickCallback (node.js:192:40)
node.js:201
throw e; // process.nextTick error, or 'error' event on first tick
^
ReferenceError: loads is not defined
at unknown source
at /root/node_modules/jsdom/node_modules/contextify/lib/contextify.js:10:24
at /root/node_modules/jsdom/lib/jsdom/level1/core.js:1024:50
at /root/testnode.js:18:12
at Array.0 (/root/node_modules/jsdom/lib/jsdom.js:199:39)
at EventEmitter._tickCallback (node.js:192:40)
यह भार समारोह की रिपोर्ट मिल गया त्रुटि संदेश परिभाषित नहीं किया गया था, लेकिन यह वास्तव में था वेब पेज में घोषित
क्या कोई भी कुछ सुझाव दे सकता है, या बस मुझे बताएं कि पेज में एम्बेडेड स्क्रिप्ट को संसाधित नहीं कर सकता है।
धन्यवाद एक बहुत Mihai, यह ठीक काम करता है। – user966085