App
App.argv
应用开始运行获取命令行参数 . 命令行参数中 , 一些是提供给NW.js使用的 , 应用本身并不会使用 . App.argv
只返回应用关心的参数 , 其他的参数被过滤掉 . App.FilteredArgv
返回被过滤掉部分的参数 . App.fullArgv
返回所有命令行参数 .
App.fullArgv
应用开始运行获取所有命令行参数 . 返回内容包括NW.js使用的参数 , 比如--nwapp
, --remote-debugging-port
等 .
App.filteredArgv
App.argv
被过滤掉的命令行参数 , 可以使用App.filteredArgv
获取 . 默认 , 以下参数将会过滤掉:
[
/^--url=/,
/^--remote-debugging-port=/,
/^--renderer-cmd-prefix=/,
/^--nwapp=/
]
App.dataPath
获取应用数据使用文件路径 .
- Windows:
%LOCALAPPDATA%/<name>
- Linux:
~/.config/<name>
- OS X:
~/Library/Application Support/<name>/Default
(0.12.3以及之前版本路径为~/Library/Application Support/<name>
)
<name>
是package.json
配置文件中的name属性 .
App.manifest
获取配置文件的JSON格式对象 .
App.clearCache()
清空HTTP内存以及磁盘中的缓存 . 该方法为异步方式调用 .
App.clearAppCache(manifest_url)
通过配置URL清空指定缓存 . 该方法为异步方式调用 .
App.closeAllWindows()
发送close
事件给当前应用的所有窗口 . 如果没有阻塞close
事件窗口 , 应用会在所有窗口关闭之后退出 . 使用该方法退出应用 , 所有窗口都有一次保存数据的机会 .
App.crashBrowser()
App.crashRenderer()
涉及崩溃机制使用的两个方法 , 参考崩溃机制特性 .
App.getProxyForURL(url)
url
{String}
通过URL查询代理信息
通过DOM中加载的URL查询代理信息 . 返回结果格式与PAC相同 , 例如"DIRECT", "PROXY localhost:8080" .
App.setProxyConfig(config)
config
{String}
配置代理
网页引擎将使用设置的代理配置请求网络资源 .
// 一个字符串解析规则说明代理使用方式 .
//
// proxy-uri = [<proxy-scheme>"://"]<proxy-host>[":"<proxy-port>]
//
// proxy-uri-list = <proxy-uri>[","<proxy-uri-list>]
//
// url-scheme = "http" | "https" | "ftp" | "socks"
//
// scheme-proxies = [<url-scheme>"="]<proxy-uri-list>
//
// proxy-rules = scheme-proxies[";"<scheme-proxies>]
//
// 因此 , 代理规则字符串应该通过分号分割有序的代理 , 应用到特定的URL协议 .
// 无特殊原因 , 代理协议默认为http .
//
// Thus, the proxy-rules string should be a semicolon-separated list of
// ordered proxies that apply to a particular URL scheme. Unless specified,
// the proxy scheme for proxy-uris is assumed to be http.
//
// 特殊情况:
// * 代理列表第一个协议被删除 , 那么代理列表之后的协议都将被忽略 .
// * 如果代理列表中的任意协议被删除 , 该列表中的其他协议不会被忽略 .
// * 如果协议设置为'socks' , 那么所有协议都需要指定协议方式 , 如果没有指明将会认为`socks4://` .
//
// For example:
// "http=foopy:80;ftp=foopy2" -- http的URL使用HTTP代理"foopy:80" , ftp的URL使用HTTP代理"foopy2" .
// "foopy:80" -- 所有URL使用HTTP代理"foopy:80" .
// "foopy:80,bar,direct://" -- 所有URL使用HTTP代理"foopy:80" , "foopy:80"不可用使用"bar" , 直至没有可用代理为止 .
// "socks4://foopy" -- 所有URL使用SOCKS v4代理"foopy:1080"
// "http=foop,socks5://bar.com -- http的URL使用HTTP代理"foop" , "foop"不可用使用SOCKS5代理"bar.com"
// "http=foopy,direct:// -- http的URL使用HTTP代理"foopy" , "foop"不可用将不使用代理
// "http=foopy;socks=foopy2 -- http的URL使用HTTP代理"foopy" , 其他URL使用SOCKS4代理foopy2
App.quit()
退出当前应用 . 该方法不发送close
时间给窗口 , 应用将静默退出 .
App.setCrashDumpDir(dir)
0.11版本开始 , 不赞成使用该方法 .
dir
{String}
崩溃生成文件路径
应用崩溃时 , 按照该方法设置的路径保存minidump文件 . 更多信息参考崩溃机制 .
App.addOriginAccessWhitelistEntry(so, dp, dh, ads)
App.addOriginAccessWhitelistEntry(sourceOrigin, destinationProtocol, destinationHost, allowDestinationSubdomains)
sourceOrigin
{String}
源地址 , 例如http://github.com/
destinationProtocol
{String}
,sourceOrigin
可访问的目标协议 , 例如app
destinationHost
{String}
sourceOrigin
可访问的目标主机 , 例如myapp
allowDestinationSubdomains
{Boolean}
设置为true ,sourceOrigin
可访问目标地址子域
添加跨域入口地址的白名单 . 假设应用通过从github.com
重定向到应用页面 , 使用该方法如下:
App.addOriginAccessWhitelistEntry('http://github.com/', 'chrome-extension', location.host, true);
使用App.removeOriginAccessWhitelistEntry
方法 , 传入相同的参数完成删除白名单的操作 .
App.removeOriginAccessWhitelistEntry(so, dp, dh, ads)
App.removeOriginAccessWhitelistEntry(sourceOrigin, destinationProtocol, destinationHost, allowDestinationSubdomains)
sourceOrigin
{String}
源地址 , 例如http://github.com/
destinationProtocol
{String}
,sourceOrigin
可访问的目标协议 , 例如app
destinationHost
{String}
sourceOrigin
可访问的目标主机 , 例如myapp
allowDestinationSubdomains
{Boolean}
设置为true ,sourceOrigin
可访问目标地址子域
删除跨域入口地址的白名单 , 参考addOriginAccessWhitelistEntry
方法 .
App.registerGlobalHotKey(shortcut)
shortcut
{Shortcut}
注册快捷键Shortcut
对象 .
为系统注册全局快捷键 , 也成为全系统热键 .
参考快捷键获取更多说明信息 .
App.unregisterGlobalHotKey(shortcut)
shortcut
{Shortcut}
注销快捷键Shortcut
对象 .
注销全局快捷键 .
参考快捷键获取更多说明信息 .
事件: open(args)
args
{String}
命令行 .
应用打开文件时触发 .
事件: reopen
Mac系统特性 . 已经运行的应用 , 当点击dock中的图标是触发该事件 .