什么会导致页面被取消?我有Chrome开发者工具的屏幕截图.

这经常发生但不是每次都发生.似乎一旦其他资源被缓存,页面刷新将加载LeftPane.aspx.真正奇怪的是,这只发生在谷歌浏览器,而不是Internet Explorer 8.任何想法为什么Chrome会取消请求?
debugging google-chrome http developer-tools web-developer-toolbar
我正在开发一个应该响应的网站,以便人们可以通过手机访问它.该网站有一些安全的部分,可以使用谷歌,Facebook,...等登录(OAuth).
服务器后端是使用ASP.Net Web API 2开发的,前端主要是带有Razor的AngularJS.
对于身份验证部分,一切都在包括Android在内的所有浏览器中正常运行,但Google身份验证在iPhone上无效,它给了我这个错误消息
Refused to display 'https://accounts.google.com/o/openid2/auth
?openid.ns=http://specs.openid.ne…tp://axschema.org/namePerson
/last&openid.ax.required=email,name,first,last'
in a frame because it set 'X-Frame-Options' to 'SAMEORIGIN'.
Run Code Online (Sandbox Code Playgroud)
现在到目前为止我担心我的HTML文件中不使用任何iframe.
我用Google搜索,但没有回答让我解决问题.
我最近开始收到以下控制台错误,没有发生任何代码更改.
我最近没有安装任何扩展程序.
Failed to load resource: net::ERR_FAILED chrome-extension://enhhojjnijigcajfphajepfemndkmdlo/cast_sender.js
Failed to load resource: net::ERR_FAILED chrome-extension://hfaagokkkhdbgiakmmlclaapfelnkoah/cast_sender.js
Failed to load resource: net::ERR_FAILED chrome-extension://enhhojjnijigcajfphajepfemndkmdlo/cast_sender.js
Failed to load resource: net::ERR_FAILED chrome-extension://fmfcbgogabcbclcofgocippekhfcmgfj/cast_sender.js
Failed to load resource: net::ERR_FAILED
Run Code Online (Sandbox Code Playgroud)
我在页面上有几个触发此错误的YouTube播放器嵌入,但它们很简单:
<iframe width="100%" height="100%" src="http://www.youtube.com/embed/OUR_YOUTUBE_ID?showinfo=0&wmode=transparent" frameborder="0" allowfullscreen=""></iframe>
Run Code Online (Sandbox Code Playgroud)
有没有人经历过这个?
我试图将google.com放入我网站上的iframe,这适用于许多其他网站,包括雅虎.但它不适用于谷歌,因为它只显示一个空白的iframe.为什么不渲染?这有什么窍门吗?
我已经尝试过以通常的方式在iframe中显示这样的网站:
<iframe name="I1" id="if1" width="100%"
height="254" style="visibility:visible"
src="http://www.google.com"></iframe>
Run Code Online (Sandbox Code Playgroud)
google.com页面不会在iframe中呈现,它只是空白.到底是怎么回事?
导轨4次出现设置的默认值SAMEORIGIN的X-Frame-OptionsHTTP响应报头.这非常适合安全性,但它不允许您的应用程序的某些部分iframe在不同的域中可用.
您可以X-Frame-Options使用以下config.action_dispatch.default_headers设置覆盖全局值:
config.action_dispatch.default_headers['X-Frame-Options'] = "ALLOW-FROM https://apps.facebook.com"
Run Code Online (Sandbox Code Playgroud)
但是,如何仅针对单个控制器或操作覆盖它?
iframe ruby-on-rails http-headers x-frame-options ruby-on-rails-4
我想在Firefox(和Chrome)上取消客户端的X-Frame-Option Header.我发现: 克服"X-Frame-Options禁止显示" 非客户端解决方案不适合我的目的
https://bugzilla.mozilla.org/show_bug.cgi?id=707893 这似乎非常接近.我尝试使用代码user_pref("b2g.ignoreXFrameOptions",true)在配置文件目录中创建user.js; 但它不起作用.第二个条目似乎暗示用修改后的代码编译ff?如果是这种情况,那对我来说也不是一个可能的解决方案.
我刚刚写了一个带有一些JS的HTML页面,它通过连续将它们加载到iframe来循环YouTube视频列表.我知道youtube支持播放列表,但他们很糟糕,我不想下载视频.此外,如果浏览器仅忽略本地文件的X-Frame-Option,那将是很好的.通过禁用此功能,这可以最大限度地减少我撕开的安全漏洞.至于Chrome,解决方案会很好,但并不重要.
我想另一种方法是拦截包含HTTP Respone的传入TCP/IP数据包并删除此标题行,但这是一个过度杀伤力.
[编辑]使用youtube.com/embed是一个糟糕的解决方法,因为很多视频都不允许嵌入...
当在iframe中加载画布应用程序时,不显示任何内容,并且在Chrome Firebug控制台上我看到错误:
拒绝显示文档,因为X-Frame-Options禁止显示.

我尝试了这个解决方案:克服"X-Frame-Options禁止显示"
class ApplicationController < ActionController::Base
protect_from_forgery
before_filter :set_xframeoption
def set_xframeoption
response.headers["X-Frame-Options"]='GOFORIT'
end
end
Run Code Online (Sandbox Code Playgroud)
但我有同样的错误.有解决方案吗
谢谢
- FB Resquest Header -
GET /dropis_app/ HTTP/1.1
Host: apps.facebook.com
Connection: keep-alive
Cache-Control: max-age=0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_2) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.77 Safari/535.7
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US,en;q=0.8
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3
Cookie: [lot of stuff]
- FB Response Header -
HTTP/1.1 200 OK
Cache-Control: private, no-cache, no-store, must-revalidate
Expires: Sat, 01 Jan 2000 00:00:00 GMT
P3P: …Run Code Online (Sandbox Code Playgroud) 在我的localhost上,我使用以下JavaScript创建一个iframewith src,并将其添加到文档中:
$('#preview').html('<iframe src="http://google.com/"></iframe>');
Run Code Online (Sandbox Code Playgroud)
iframe显示但不显示内容.在萤火虫中,它只是:
<iframe src="http://google.com/">
<html>
<head></head>
<body></body>
</html>
</iframe>
Run Code Online (Sandbox Code Playgroud)
当我$('iframe').attr('src','http://google.com/');在控制台上执行时,浏览器加载(说"等待google.com ..."),然后似乎刷新了iframe的内容.但同样,它是空的.
但是,如果我将其设置为本地页面,则会加载内容.
这是因为相同的原产地政策吗?我不太了解它.我做了一些谷歌搜索,我很困惑,因为有些网站说可以包含一个不属于你自己的域的src的iframe,有些人说这是不可能的.
顺便说一句,因为我还在localhost上测试,如果我把它上传到某个服务器上,这会有用吗?(但iframe的src仍将在不同的域中)
救命?
当我src在iframe上设置属性时,有时会向控制台记录错误(似乎是未捕获的异常),并且目标永远不会加载.
例如,如果我设置myiframe.src = 'http://www.google.com',它就永远不会加载,我的Chrome开发人员工具将记录以下消息:
Refused to display document because display forbidden by X-Frame-Options.
Run Code Online (Sandbox Code Playgroud)
我理解这个错误是什么,但我想捕获这个异常,所以我可以在网站不想加载到iframe时处理它.
因为设置iframe src是半异步的,所以我不能用try catch包围该行.
如何处理iframe错误?iframe.onerror并且iframe.onabort似乎也没有做到这一点.
我无法将facebook加载到iframe中,如下所示:
<html>
<head>
<!-- some stuffs here -->
</head>
<body>
<!-- some stuffs here -->
<iframe src="http://www.google.com" frameborder="0">
</iframe>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
我已经用其他网站对它进行了测试,并且它似乎加载没有问题,例如wired.com,但不是facebook.com...
谁能解释我为什么?
如果需要,我正在使用Google Chrome和Safari.
好像Google阻止了iframe加载其页面.
html ×4
iframe ×4
javascript ×3
http-headers ×2
angularjs ×1
client-side ×1
debugging ×1
exception ×1
firefox ×1
google-oauth ×1
http ×1
jquery ×1
youtube ×1