1.问题描述
Chrome浏览器出于安全方面的考虑,禁止网页访问本地文件。举个例子:Chrome浏览器上有一个可以修改网页css风格的插件,名为Stylus。通过Stylus可以将个别网页的css风格修改成自己喜欢的样子,例如给百度云添加背景图片(这里我用的是神代綺凜的
百度系列萌化
样式):
如果想要更改成自己喜欢的图片,通过更改
Stylus
样式表中的相关内容:
Chrome浏览器会报错
Not allowed to load local resource
,且无法加载图片:
2.解决方法
网上有许多方法,例如关闭Chrome浏览器的这个功能,或是建立虚拟目录等,我使用的方法是搭建本地服务器,Chrome浏览器上通过
http://127.0.0.1:port/
来访问本地文件。
①安装
Node.js
Node.js
下载地址:
http://nodejs.cn/download/
安装过程参考
菜鸟教程
②安装
Node.js
中的
Express
框架
打开
cmd
,进入到服务器文件所在目录(我的目录是
E:/xiaoyaosheny/html/localserver/
),运行命令
npm install express
,等待安装完成。安装完成后该目录下会出现一个文件夹
node_modules
和一个文件
package-lock.json
③编写服务器文件(我的文件名为
server.js
)
//加载express模块
var express = require('express');
var app = express();
app.use('/public', express.static('public'));
var server = app.listen(8081);
④在刚才打开的
cmd
中运行命令
node server.js
,如果没有报错,则Chrome浏览器上就可以通过
http://127.0.0.1:8081/public/baidunetdisk.jpg
就可以访问本地文件了
注意
:需要将相应的文件放在指定文件夹中,以我的文件为例,服务器文件
server.js
在
E:/xiaoyaosheny/html/localserver
下,该文件夹中包含
public
文件夹,用于存放需要访问的文件。在Chrome浏览器上应该通过链接
http://127.0.0.1:port/public/文件名
访问文件,其中的
port
为
app.listen()
中的参数(我这里是8081)
最后,可以写段程序使
server.js
开机自启