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即可运行,运行界面如下:

  

node-webkit播放目录下所有网页文件的更多相关文章

  1. Unity3d:播放物理目录下的MP3文件

    u3d里,是支持播放MP3文件的,但要放到资源里,不支持播放物理目录下的MP3文件.由于界面上无需显示,只是当作背景音乐来播放,所以想到调用c#的组件来解决此问题.主要代码都在附件中,根据需要加到自己 ...

  2. c# 获取指定目录下的所有文件并显示在网页上

    参考文献: FileInfo 的使用  https://msdn.microsoft.com/zh-cn/library/system.io.fileinfo_methods(v=vs.110).as ...

  3. [No00006B]方便的网络下载工具wget 可下载网站目录下的所有文件(可下载整个网站)

    wget是linux下命令行的下载工具,功能很强大,它能完成某些下载软件所不能做的,比如如果你想下载一个网页目录下的所有文件,如何做呢?网络用户有时候会遇到需要下载一批文件的情况,有时甚至需要把整个网 ...

  4. 【Unity基础知识之三】Unity Assets目录下的特殊文件夹名称

    Unity3D的特殊目录名称   Unity预留了一些目录名称,这些目录有着特殊的含义.比较重要的有: Resources这个目录下的所有文件都会被打包到发布版本中,程序可以通过文件路径来访问它们.这 ...

  5. 转载 Silverlight实用窍门系列:1.Silverlight读取外部XML加载配置---(使用WebClient读取XAP包同目录下的XML文件))

    转载:程兴亮文章,地址;http://www.cnblogs.com/chengxingliang/archive/2011/02/07/1949579.html 使用WebClient读取XAP包同 ...

  6. treeList获取目录下的所有文件

    /// <summary>/// treeList获取目录下的所有文件/// </summary>public static void InitTreeListGetFiles ...

  7. Silverlight实用窍门系列:1.Silverlight读取外部XML加载配置---(使用WebClient读取XAP包同目录下的XML文件))【附带实例源码】

    使用WebClient读取XAP包同目录下的XML文件 我们想要读取XAP包下面的XML文件,需要将此XML文件放在加载XAP包的网页的目录中去,然后使用URI方式读取此URL方式下的XML文件. 首 ...

  8. TreeView获取目录下的所有文件

    /// <summary> /// TreeView获取目录下的所有文件 /// </summary> /// <param name="tree"& ...

  9. [No000073]C#直接删除指定目录下的所有文件及文件夹(保留目录)

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

随机推荐

  1. Google的创新九原则(转)

    原文url:http://www.365xiaoxi.com/All/News/2013-11-22/6432.html 想知道是什么让Google成为生产力与创造力的圣杯?当然不是喝山景城脚下的神水 ...

  2. Hive学习之函数DDL和Show、Describe语句

    创建/删除函数 创建暂时函数 以下的语句创建由class_name实现的暂时函数,该函数被创建后仅仅能够在当前会话中使用.会话结束后函数失效. 实现函数的类能够是Hive类路径中的随意类.能够使用Ad ...

  3. XML基础(一)

    一.简单介绍 1.概念 可扩展标记语言(EXtensible Markup Language),标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言.非常类似 HTML.       ...

  4. python 中 with 用法

    前言 with 语句适用于对资源进行访问的场合,确保不管使用过程中是否发生异常都会执行必要的“清理”操作,释放资源, 比如文件使用后自动关闭/线程中锁的自动获取和释放等. 问题引出 如下代码: fil ...

  5. ubuntu14.4安装gtx970显卡驱动的艰辛历程

    1 说明: 本人机器说明,显卡gtx970,内存4G,原来系统是win7 64的.最近要学习机器学习的一些算法,需要安装ubuntu.不过安装环境这一条道路真的很曲折,来来回回弄了好久.以下说一下配置 ...

  6. InnoDB Master Thread I/O Rate详解

    一.innodb 在刷盘时要面对的问题: 1.对于innodb 的master thread 这个线程来说,它会在后台执行许多的任务,这些任务大多数都是与IO操作相关的, 比如“刷新脏页到磁盘”.“合 ...

  7. vue组件值传递之父组件向子组件传递(props)

    <template> <div class="hello"> <h1>{{ msg }}</h1> <ul> <l ...

  8. Jquery—Jquery异步功能实例

    Jquery确实是一个非常好的JavaScript框架,今天利用闲暇时间给大家一个借助Jquery异步实现校验username的唯一性的样例: 代码1--index.jsp文件: <%@ pag ...

  9. 告诉你38个MySQL数据库的小技巧

    无论是运维.开发.测试,还是架构师,数据库技术是一个必备加薪神器,那么,一直说学习数据库.学MySQL,到底是要学习它的哪些东西呢? 1.如何快速掌握MySQL? 培养兴趣 兴趣是最好的老师,不论学习 ...

  10. http请求头中的Content-Type属性在angular 和 node中的用法

    post请求的请求体有以下两种格式: 1. 字符串: 'name=code_bunny&age=12' 这种格式的请求体,需要配置请求头 'Content-Type':'application ...