1、编写index.html文件
这里我们需要播放某一个目录下所有的网页文件,要做到切换不同的网页,可以在index.html中使用iframe。通过js动态改变iframe的src属性,从而动态地切换显示的网页。index.html代码如下:
<!DOCTYPE html>
<html>
<head>
<title>play file</title>
<script src="script.js"></script><!-- 这是引入的js外部文件 -->
</head>
<body>
<h1>paly all file!</h1>
<iframe id="showwin" frameborder="0" scrolling="no" width="100%" height="100%" ></iframe>
</body>
</html>
2、编写js代码进行遍历
在node-webkit中我们可是很方便地使用到node.js进行文件遍历,我们只需写一行var fs = require('fs');即可是用node.js提供的函数进行遍历。我们将所有的js代码放在外部的script.js文件中,然后在index.html文件引入即可。script.js代码如下:
var fs = require('fs');//
var second = 1000;//播放间隔时间
var paths = "C:/Users/user/Desktop/dome/source"; //指定要播放的目录
var fileList = new Array(); //存放要播放的文件
var page; //iframe
window.onload = function (){
page = document.getElementById("showwin");
findfile(paths);//解析目录,将所有网页文件的路径找出并存放在fileList数组里面
start();
} //get the file path
function findfile(filepaths){
var dirList = fs.readdirSync(filepaths);
dirList.forEach(function(item){
if(fs.statSync(filepaths + '/' + item).isFile()){//是文件则放入数组
if(item.indexOf(".html") != -1)//只将网页文件路径放入数组
fileList.push(filepaths + '/' + item);
}
else if(fs.statSync(filepaths + '/' + item).isDirectory()){//是目录,继续遍历
findfile(filepaths + '/' + item);
}
});
} //播放网页
var m = 0;
function show(){
page.src = fileList[m];
if (m == fileList.length - 1)
m = 0;
else
m++;
} //开始播放
function start(){
time = window.setInterval("show()", second);//没隔一秒播放一个网页
}
3、编写package.json文件
package.json文件代码如下:
{
"name": "nw-demo",
"main": "index.html",
"window": {
"frame": false,
"width": 500,
"height": 500,
"toolbar": false,
"position": "center",
"resizable": false,
"kiosk":true
}
}
其中frame:false表示播放的时候,窗口的框架不显示。toolbar:false表示播放的时候,地址栏不显示。resizable:false表示播放的时候,窗口大小不能改变。kiosk:true表示播放的时候全屏。
4、运行,将这三个文件直接压缩成zip文件(这三个文件都是在zip文件的根目录下),script.js中地三行制定好要要播放的网页文件的目录。将zip文件改名成dome.nw,再将dome.nw拖入nw.exe即可运行,运行界面如下: