DOM 更改


<input type=”file”>

HTML5 为使用 <input type="file" /> 元素的文件对话框提供了有限的支持,例如 multipleacceptwebkitdirectory。NW.js 扩展了文件输入以更好地支持原生应用程序。

注意

出于安全原因,NW.js 扩展功能仅在 Node 框架中启用。有关 Node 和普通框架之间差异的详细信息,请参阅 NW.js 中的安全性

fileinput.value

该属性包含本地文件的原生路径。

例如,您可以使用 Node.js API 读取用户选择的文件。

// Get the native path of the file selected by user
var fileinput = document.querySelector('input[type=file]');
var path = fileinput.value;

// Read file with Node.js API
var fs = nw.require('fs');
fs.readFile(path, 'utf8', function(err, txt) {
  if (err) {
    console.error(err);
    return;
  }

  console.log(txt);
});

fileitem.path

HTML5 提供了一个 files 属性来返回在 <input> 标签中选择的所有文件。NW.js 为 files 中的每个文件项提供了一个额外的属性 fileitem.path,它表示所选文件的原生路径。

var fileinput = document.querySelector('input[type=file]');
var files = fileinput.files;

for (var i = 0; i < files.length; ++i) {
  console.log(files[i].path);
}

属性:nwdirectory

nwdirectorywebkitdirectory 类似,但它返回目录的路径,而不是返回其中的文件。

例如

<input type="file" nwdirectory>

属性:nwdirectorydesc

设置 nwdirectory 文件对话框中标题的描述。默认值为 Select Folder

属性:nwsaveas

nwsaveas 将打开一个“另存为”对话框,允许用户输入文件的路径。可以选择不存在的文件,这与默认的文件输入标签不同。

例如

<input type="file" nwsaveas>

您可以指定要保存的默认文件名。

<input type="file" nwsaveas="filename.txt">

属性:nwworkingdir

使用 nwworkingdir,当元素被激活时,文件对话框将从给定的目录开始。

例如,以下代码使文件对话框默认在 /home/path/ 中打开

<input type="file" nwworkingdir="/home/path/">

oncancel 事件

当用户取消文件对话框时,会触发此事件。

<iframe>

NW.js 扩展了 <iframe> 标签,以便更轻松地开发原生应用程序。这些功能使应用程序能够绕过沙箱和同源策略等的限制。

另请参阅 webview 标签,了解新的 <webview> 标签。

属性:nwdisable

将框架和子框架设置为普通框架。

注意

此属性不会阻止普通框架中的页面访问其父框架和顶级框架。然后它们仍然可以访问 Node.js API。因此,通常您可能希望将此属性与 nwfaketop 一起使用。

属性:nwfaketop

阻止框架中的网页访问真实的 window.parentwindow.top。它们将获得伪造的父级和顶级,即框架自身的 window 对象。子框架也会受到影响。

此属性通常与 nwdisable 一起使用。

属性:nwUserAgent

在框架和子框架中加载网页时,覆盖默认的用户代理。有关详细信息,请参阅 清单中的 user-agent

webview 标签

webview 标签 中添加了一些方法。