访问webview标记中的node.js模块

时间:2016-07-05 08:18:46

标签: javascript node.js nw.js

我有nw个应用加载index.html

index.html内,我有<webview>标记加载external.html

index.html中,执行var fs = require('fs')成功,而在external.html中执行相同操作失败。 因此,node.js模块仅向主页面公开,而不向webview公开。 在package.json我有这个:

  "webview": {
     "partitions": [
        {
          "name": "trusted",
          "accessible_resources": [ "<all_urls>" ]
        }
     ]

为了使require内容脚本至少可以使用webview方法,我该怎么办? package.json中的设置或webview中的特定属性是否设置?或者,当webview事件被触发时,我可以将该方法注入window loadstop对象吗?怎么做?

2 个答案:

答案 0 :(得分:0)

它将起作用,nodeintegration属性也是在webview页面中添加节点模块。  示例## webview name =“”,partitions =“”nodeintegration webview /&gt; ## here

答案 1 :(得分:0)

要在WebView中启用Node.js支持,请将allownw属性添加到webview标记。然后Node.js将被打开,无论它是否加载本地文件或远程站点。请谨慎使用此功能,因为webview通常应加载不受信任的内容。 enter link description here