我试图从我的网站www.drewgl.com添加一些页面到stumbleupon。它非常依赖于javascript。当我通过stumbleupon查看我的网站时,javascript被阻止。具体来说,我看到错误:
Uncaught SecurityError:阻止具有原点的帧 " http://www.drewgl.com"从访问原始框架 " http://www.stumbleupon.com&#34 ;.协议,域和端口必须匹配
我使用部署到heroku的rails 4。我将X-frame选项设置为允许所有。我在这里阅读了答案: SecurityError: Blocked a frame with origin from accessing a cross-origin frame 似乎解决这个问题的唯一方法是使用window.postmessage在两个页面之间发送消息。但是,要执行此操作,您必须拥有这两个页面。
当然,Stumbleupon无法满足这一条件,那么我该如何解决这个问题呢?
编辑:我刚刚下载了chrome的stumbleupon工具栏。执行此操作后,我不再收到上述错误消息。无论哪种方式,我仍然希望为没有工具栏的绊倒者解决这个问题。
答案 0 :(得分:1)
Rails app无法在StumbleUpon上加载?将其添加到ApplicationController
before_action :allow_iframe_requests
private
def allow_iframe_requests
response.headers.delete('X-Frame-Options')
end
答案 1 :(得分:0)
想出来。如果有人好奇,您就不能从iframe中访问当前路径。这段代码导致了这个问题:
// if (top.location.pathname === '/users/sign_in')
// {
// $('#login').modal('show');
// }