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. python学习笔记——multiprocessing 多进程模块Process

    系统自带的fork模块创建的多进程是基于Linux或Unix平台的,而window平台并不支持: python中的multiprocess为跨平台版本的多进程模块,支持子进程.通信和共享数据.执行不同 ...

  2. map+pair Bayan 2015 Contest Warm Up D题

    D. CGCDSSQ time limit per test 2 seconds memory limit per test 256 megabytes input standard input ou ...

  3. kafka linux 启动脚本 sample

    #!/bin/sh # # chkconfig: 345 99 01 # description: Kafka # # File : Kafka # # Description: Starts and ...

  4. django中templates阅读笔记

    一.基本知识 1.模版是独立于django的,可以独立运行. 模版变量是用两个大括号括起来的字符串,表示变量.例如{{ person_name }} 模版标签,是用一对大括号和一对百分号括起来的,例如 ...

  5. 离线安装 Ambari Hadoop

    制作本地yum源 安装步骤: 先建立本地yum源(Ambari和HDP的) 1. 先安装 ambari 然后http://localhost:8080 登录进去,设置 hdp的源链接. 2. 安装HD ...

  6. Redis(一):概述

    1.Redis解释 Redis 是一个基于key-value形式进行存储的内存型数据库. 1.1 数据存储方式为key-value 1.2 数据存储在内存中. 1.2.1 优点:效率高.理论值:每秒1 ...

  7. Oracle学习笔记之四sp1,Oracle 11g的常用函数

    从Oracle学习笔记之四,SQL语言入门中摘出来的,独立成一章节 3.1 字符类函数 ASCII(c)和CHR(i)    分别用于返回一个字符的ASCII码和返回给定ASCII值所对应的字符. C ...

  8. [k8s]prometheus+alertmanager二进制安装实现简单邮件告警

    本次任务是用alertmanaer发一个报警邮件 本次环境采用二进制普罗组件 本次准备监控一个节点的内存,当使用率大于2%时候(测试),发邮件报警. k8s集群使用普罗官方文档 环境准备 下载二进制h ...

  9. google protocol buffer的原理和使用(三)

    介绍下怎么反序列化GoogleBuffer数据.并在最后提供本系列文章中所用到的代码整理供下载. 上一篇文章介绍了如何将数据序列化到了addressbook.data中.那么对于接受方而言该怎么解析出 ...

  10. STL_算法_查找算法(lower_bound、upper_bound、equal_range)

    C++ Primer 学习中. .. 简单记录下我的学习过程 (代码为主) //全部容器适用(O(log(n)))    已序区间查找算法 lower_bound()        //找第一个符合的 ...