javascript - 拒绝在框架中显示“http://127.0.0.1:8000/files/xxx.pdf”,因为它在 Node Express API 中将“X-Frame-Options”设置为“sameorigin”
问题描述
正如在这个问题中回答的那样,应用了解决方案,但仍然无法将 PDF 绑定到其他源项目的 iframe 中。查看我收到的控制台错误。
我申请的解决方案:
app.use(helmet.frameguard({
action: 'allow-from',
domain: 'http://localhost:4200'
}))
还有其他问题还是我做错了什么?
谢谢
解决方案
您可以使用
某些浏览器不支持 Helmet.js 功能,即 ALLOW-FROM 功能。例如,您可能正在使用的 Safari。
在此处检查 ALLOW-FROM 的兼容性:此处
app.use(frameguard({ action: 'sameorigin' })) // Defaults
仅从快速使用的目录中提供静态文件(Express Servering Static Files):
创建一个公用文件夹,将项目放入其中。
然后,您将使用http://localhost:8000/name.pdf
app.use(express.static('public'))
由于如果您从另一个目录启动应用程序,路径是相对的,您可以采用这种方法。
然后,您将使用http://localhost:8000/static/name.pdf
app.use('/static', express.static(path.join(__dirname, 'public')))
推荐阅读
- filter - 在 FIORI 中过滤模型会导致“f.forEach 不是函数”
- python - facebook 营销 api,无法获取广告系列、广告和广告集草稿
- node.js - 有没有办法让不和谐机器人检测命令的作者是否在某个服务器上?不和谐.js
- react-native - 在 TopBar 自定义 React Native Navigation backButton
- machine-learning - bagging 和 boosting 步骤中基于组的特征选择
- dart - 更改 Aqueduct ORM 中的命名策略
- python - 替换未正确删除对象变量类型
- java - 为 Android Studio/IntelliJ 中的所有项目即时优化导入
- java - 我在 SQL 电子表格中保存旧数据时遇到问题
- json - 使用 JWT 访问 Rest API 适用于 Postman 但不适用于 Axios