- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
因为 IE 不支持异步文件上传,所以我使用了一种变通方法,即将表单发布到 iframe。我绑定(bind)了 iframe 的 onLoad 事件,并在触发事件时读取其内容。这很好用,除非服务器返回 200 以外的状态代码,在这种情况下 IE8/IE9 会抛出“SCRIPT5:访问被拒绝”错误。微软似乎已经决定,除非请求返回 200 OK,否则不应允许任何人读取 iframe 的内容。
谷歌搜索没有任何结果,所以我在这里寻求帮助。其他人可以重现这种奇怪的行为吗?有什么办法解决这个问题吗?
iframe 不违反任何跨站点安全策略。它们都在同一个域中。
最佳答案
我想我已经解决了这个问题,同时尝试在 fiddler 上重现该问题。关闭 IE 中的“显示友好的 HTTP 错误消息”似乎可以解决这个问题。我无法在 fiddler 上重现它的原因是它们的 404 页面超过 512 字节,因此无论如何它都会显示 nginx 错误。
基本上,整个问题是,当页面小于 512 字节(或在某些情况下为 256 字节)时,IE 似乎会替换整个页面,从而导致以编程方式阻止对该页面的访问。显然,微软的疏忽似乎仍然存在于 IE10 中。
它很容易重现。只需将以下内容放在服务器下的文件(例如 test.html)中,然后返回 512 字节以下的 404 响应代码,并确保您的 IE 设置为显示友好的错误消息(同时确保“test1.file”实际上没有存在)。在打开开发人员控制台的情况下使用 IE 访问该页面,您应该会看到“访问被拒绝”错误。刷新页面的方式会改变结果。 CTRL+F5 似乎没有出现问题,但 CTRL+R 或 F5 出现了。
<!DOCTYPE html>
<html lang="en">
<head>
</head>
<body>
<script type="text/javascript">
iframe = document.createElement('iframe')
iframe.src = '/test1.file'
document.body.appendChild(iframe )
iframe.contentDocument
</script>
</body>
</html>
现在,要是我能找到可以提交 IE10 错误报告的地方就好了,这样我们就能更好地处理这个可怕的浏览器了。
关于javascript - 互联网浏览器 : Can't Access IFrame Contents Unless Status Code is 200,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11769962/
在 Perl 中,以下之间是否有任何有意义的区别: return $result unless ($exist_condition); 和 unless ($exist_condition) retu
我在任何地方都找不到 if(或 unless)修饰符的正式规范: 123 if x > 0 如果 x 不大于零,上述语句的值是多少? irb 建议 nil,但它是否在任何地方记录? (是的,这可能是个
考虑到 Ruby 中的一切都是对象,我们可以打开 irb 并键入诸如 4.class 和 "Text".class 之类的内容来查看对象来自哪个类就是,为什么if.class和unless.class
我正在使用哈希表来帮助迭代文件的权限。 如果测试不成功,我想将 $permissions{$perm}[0] 标记为 0,但是我不确定这是否可能? my %permissions =
我有一个使用该作品的查询,但现在我需要修改它,以便它排除在字段中具有特定数据的行。 这是当前代码: SELECT oc_ieentry,oc_sysitem,oc_item,oc_itemdesc,o
警告,这是我第一次尝试实际创建 ANT 构建脚本。我试图使我的 test 目标仅在 compiled 属性设置为 true 时运行,此外,我希望我的 dist 目标运行,除非 junit.failur
示例输入字符串: (F1 (F2 X (Y) Z) (F3 A B) 我要匹配的是:\w+ 前面没有( 除非后面跟着) 在这种情况下:X、Y、Z、A 和 B 目前的临时解决方法(我知道稍后会给我带来问
我是编程新手,我不明白这有什么区别。我正在用 Ruby 编写代码。 最佳答案 if 应该很明显:如果条件为真,则执行一段代码。 unless 相反:如果条件为假,则执行一段代码。 http://www
我的要求很简单,但我不知道如何进行: 我想翻译 python 中的 unless 语句如下: taken_asks -= 1 unless taken_asks == 0 这只是一行代码,是一个非常大
我一定是没有正确理解 unless 属性。我有一个属性文件,其属性如下: module.project.enabled=false module.finance.enabled=true 在我的 An
我有这行代码: unless((-e $FileOne) && (-e $Filetwo) && (-e $FileThree)) {die "$!\n";} 其中,$ 变量包含具有完整路径的文件名。
我以前以为unless和 if not完全等效,但 this Q&A让我意识到它们可以在列表上下文下产生不同的输出: use strict; use warnings; use Data::Print
我有一个 Rails 3.2.18 应用程序,我正在尝试使用以下方式将 Twilio 通知发送到医生的手机上进行更新操作: unless @call.call_status == "close" &
我有以下内容: unless parsed['PREDICATE'].nil? predicate = parsed['PREDICATE'] end 这里的逻辑很清楚。但是在我写这篇文章的时
我是 Ruby 的新手,并试图理解为什么它有效(它似乎确实如此,至少根据 "the Master" ): def array_of_fixnums?(array) true unless ar
下面两行有什么区别? # settings and globals are Hash @settings[:xvfb] = globals[:xvfb] unless settings.include
我想写一个 macrodef,它依赖于另一个 macrodef 中设置的属性,例如这个,它不起作用......(macrodef 不支持 depends 和 unless 属性)无论如何要这样做?
有没有办法在 C# 中做类似的事情? 即。 i++ unless i > 5; 还有一个例子 weatherText = "Weather is good!" unless isWeatherBad
我不确定“unless”在这段代码中的作用。虽然看起来非常简单。 def self.tips_by_categories @categories = {} # Build up t
有什么方法可以将其重构为 unless 语句吗? a = false b = true if !a or !b puts "hello world" end 这似乎不等价 unless a or
我是一名优秀的程序员,十分优秀!