javascript - node-webkit 从外部源运行函数

标签 javascript node.js node-webkit

我正在 node-webkit 应用程序中加载带有 iframe 的远程页面。 我想从网页的 node.js 应用程序运行一个函数。

在 app.js 中我有

var xxx = function(){ console.log('test'); }

以及 http://www.test.com/index.html我已经尝试过:

window.xxx();
xxx();
global.xxx();

但似乎没有任何效果。

我怎样才能做到这一点?

非常感谢

最佳答案

如果我理解正确的话,您想要访问在远程页面中定义的函数,并将该函数作为 iframe 包含在当前页面中,对吧?

我认为这里有两个单独的问题。

首先,您需要有一个 iframe 句柄,然后通过 iframe dom 元素的“contentWindow”属性访问该窗口的环境,即给定一个 id 为 foo 的 iframe,它指向一个带有名为 bar 的函数的页面,您可以这样做:

x = document.getElementById('foo');
x.bar();

这对于本地页面来说效果很好,但另一个问题是您可能会发现在 iframe 中运行远程页面并且仍然具有访问权限时会遇到一些困难。如果它是您控制下的页面,那可能会起作用,但有些页面不喜欢在 iframe 中运行,因此您必须在某种程度上进行沙箱处理,这可能会干扰您以这种方式访问​​它的能力。我已经有一段时间没有玩沙盒了,所以我不确定,但如果它是你控制的页面,你应该能够设置它,所以这不是问题。

关于javascript - node-webkit 从外部源运行函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25287151/

相关文章:

node.js - 通过https服务器连接socket.io

node.js - 安装时出现 npm 依赖问题...好吧,几乎任何事情

node-webkit - 在 VSCode 中调试 nwjs 应用程序

jquery - 使用 jquery 的目标 node-webkit 浏览器

javascript - 如何在 Node Webkit 桌面应用程序中使用 Google Analytics

javascript - 将一个图像淡入另一个图像

javascript - 防止 parent 被点击,同时允许 child 捕捉触摸

javascript - KnockoutJS - 模板上的点击事件

javascript - 无法从 codenvy 预览/运行 angular.js 项目

node.js - 使用 Node.js 从代理服务器后面调用 Watson Conversation API