需求
把odoo12的系统嵌入到一个别的系统里面,但是会出现这个问题。
遇到的问题
zs.html:1 Refused to display 'http://xx.com/web/login'
in a frame because it set 'X-Frame-Options' to 'deny'
解决方法
由于X-Frame-Options响应头,赋值有如下三种:
1、deny:不能被嵌入到任何iframe或者frame中。
2、sameorigin:页面只能被本站页面嵌入到iframe或者frame中
3、allow-from uri:只能被嵌入到指定域名的框架中
所以在odoo12的源码里修改:
把源码里所有地方的response.headers[‘X-Frame-Options’] = ‘DENY’
response.headers['X-Frame-Options'] = 'DENY'
都修改为指定域名
response.headers['X-Frame-Options'] = 'allow-from http://xx.com/'
或者是允许同一域名嵌入
response.headers['X-Frame-Options'] = 'SAMEORIGIN'