Closed
Description
鉴于很多人在留言说跨域的问题,我统一作个回答吧。
- 一、首先确定跨域这个东西,它是浏览器安全策略,有经验的前端/后端是不会在这里问跨域的。因为解决它,跟前端关系不大,跟pdfh5.js更无关。这个是需要服务端解决的,前端顶多作个配合。这个是基础论调。
- 二、当你使用这个插件的时候,你不能是file:///协议打开的网页查看pdf(就是本地文件路径方式打开)。这样打开网页,无论你是使用本插件,还是去ajax请求网络接口,都是统一提示你跨域。这个也是浏览器的限制。解决它,你用web服务打开网页就行(就是用http或者https的方式)。使用vscode、webstorm、hbuilder等编辑器可以使用里面的服务打开浏览器,它们都有内置web服务。或者使用tomcat/apache/phpstudy等起一个web服务,再把你的网页文件丢到对应位置,然后在浏览器访问服务地址打开网页。
- 三、 如果你是用http方式打开的网页,使用本插件打开pdf还是提示跨域,而你们后端已经做了接口跨域的处理。那么,你们后端还需要做一个资源跨域的处理。具体方式请百度。目前我的服务器是apache服务,资源跨域,是修改httpd.conf,找到#LoadModule headers_module modules/mod_headers.so把#注释符去掉,然后在<VirtualHost *:80></VirtualHost>虚拟机
配置里添加Header set Access-Control-Allow-Origin *。然后在<Directory "/根目录"></Directory>里也添加Header set Access-Control-Allow-Origin *。
nginx配置资源跨域
apache配置资源跨域
tomcat配置资源跨域
Metadata
Metadata
Assignees
Labels
No labels