如何调用 script 标签中定义的 javascript 函数?
示例:
<script type="text/javascript">
function test() {
console.log("Hello world");
}
</script>
我如何调用 test()
?
编辑:我没有正确解释这一点。
我正在使用node.js 的请求模块加载包含javascript 函数的外部html 文件:
request.get(options, function (error, response, body) {
if (error && response.statusCode !== 200) {
}
else {
jsdom.env({
html: body,
scripts: ["../jquery-1.6.4.min.js"]
}, function (err, window) {
var $ = window.jQuery;
我只是在寻找调用“body”中函数的语法。
Example:
<script type="text/javascript">
function test() {
console.log("Hello world");
}
</script>
How would I call test()
?
Edit: I didn't explain this correctly.
I am using the request module of node.js to load an external html file that contains javascript functions:
request.get(options, function (error, response, body) {
if (error && response.statusCode !== 200) {
}
else {
jsdom.env({
html: body,
scripts: ["../jquery-1.6.4.min.js"]
}, function (err, window) {
var $ = window.jQuery;
I'm just looking for the syntax to call a function in 'body'.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
所以这里的问题是,默认情况下,
jsdom.env
不会执行处理标记时找到的 JavaScript。您需要打开这些功能:
FetchExternalResources
控制 jsdom 是否应该通过网络/磁盘来收集资源的字节ProcessExternalResources
控制是否或执行获取的脚本注意选择这些名称是为了包含将来将添加的其他资源类型(阅读:图像、CSS 等)。这里的想法是提供合理的默认值,但有许多可调节的旋钮来影响 jsdom 的行为。
So the problem here is that by default,
jsdom.env
does not execute javascript found while processing markup.You'll need to turn these features on:
FetchExternalResources
controls whether or not jsdom should even bother reaching across the network/disk to collect the bytes of a resourceProcessExternalResources
controls whether or fetched scripts are executedNote these names were chosen to encompass other resources types (read: images, css, etc..) which will be added in the future. The idea here is to provide sane defaults, but have many turnable knobs that affect the behavior of jsdom.
就像页面上的任何其他函数一样调用它,jQuery 是一个框架,运行 JS 函数不需要它。
Just call it like any other function on your page, jQuery is a framework and is not needed for running a JS function.
嗯...也许我会选择
但这不是 jquery,它是普通的旧 JavaScript。
hmmm... probably I'd go with
But that's not jquery, it's plain old javascript.
试试这个:
您也可以尝试:
然后:
Try this:
You could also try:
And then: