本地HTML文件加载第三方iframe时,如何配置允许列表的对应域名?
本地HTML文件加载第三方iframe时,如何配置允许列表的对应域名?
兄弟,我太懂你遇到的这个糟心问题了!用file://协议打开本地HTML页面的时候,确实没有传统意义上的域名,第三方服务的允许列表自然没办法识别这种协议下的请求,你填自己的IP没用也完全在情理之中——因为你的页面根本不是通过HTTP/HTTPS协议从IP地址提供的呀!
给你两个实用的解决思路,亲测靠谱:
最推荐:把本地页面搭成简易HTTP服务
本质是让你的本地页面通过HTTP协议来访问,这样就会有标准的“域名/地址”了。操作超简单:- 打开终端,cd到你的HTML文件所在的桌面文件夹(比如
cd /Users/tr/Desktop) - 如果装了Python3,直接跑命令:
python3 -m http.server 8000 - 打开浏览器访问
http://localhost:8000/Test%20Page.html,这时候页面的源就是localhost:8000,把这个地址(或者只填localhost)添加到第三方服务的允许列表里就行,iframe肯定能正常加载了。
要是你用Node.js,也可以装个http-server工具,先全局安装npm install -g http-server,然后在文件目录下运行http-server,访问终端里给出的地址就行。
- 打开终端,cd到你的HTML文件所在的桌面文件夹(比如
备选:试试第三方服务是否支持
file://的特殊配置
少数第三方服务可能允许直接把file://加到允许列表里,或者用通配符*(但这个要特别谨慎,相当于放开所有源,安全性很低)。不过这种情况比较少见,大部分正规服务不会开放file://的允许,因为本地文件协议的安全风险太高。
最后再提醒一句:别再纠结填IP啦,你的file://页面和IP服务的页面源完全是两回事,第三方校验逻辑根本不认的~
备注:内容来源于stack exchange,提问作者Tom Rogers
相关产品推荐
相关产品推荐

