表单/JavaScript 无法在 IE 11 上运行并出现错误 DOM7011
Posted
技术标签:
【中文标题】表单/JavaScript 无法在 IE 11 上运行并出现错误 DOM7011【英文标题】:Form/JavaScript not working on IE 11 with error DOM7011 【发布时间】:2014-03-22 04:00:14 【问题描述】:使用 __postback
函数的 ASP.net 表单的注册按钮在 IE 11 上停止工作,从开发者控制台显示:
DOM7011:此页面上的代码禁用了前后缓存。如需更多信息,请参阅:http://go.microsoft.com/fwlink/?LinkID=291337。
有谁知道如何解决这个问题?这个缓存是什么东西,为什么它会弄乱表格。我从其他人那里看到了类似的抱怨。
【问题讨论】:
【参考方案1】:如果服务器发送“Cache-control:no-store”标头或发送“Cache-control:no-cache”标头,则会出现此问题。
【讨论】:
当我的页面发送“Cache-Control: public, max-age=0”时我得到了这个。我假设这是因为max-age=0
。
解决办法是什么??
这个答案是对问题的解释但是解决方案?
服务器正在发送一个 Cache-control 标头,因此最好的解决方案是更改服务器。其次,您可以对相同的内容提出不同的请求。例如,将"?random=" + Math.random()
添加到您的每个链接。【参考方案2】:
我在 IE11 中也看到了完全相同的错误。在我的情况下,当用户单击 <button>
元素时发生问题,该元素位于 <form>
标签内。
通过将<button>
置于<form>
标记之外,该问题已得到解决。
【讨论】:
【参考方案3】:我在使用window.location.reload()
时出现此错误。替换为window.location = window.location.href
解决了这个问题。
【讨论】:
【参考方案4】:我以前也遇到过同样的问题。 我清除了所有 IE 缓存/浏览历史记录/cookie 并重新启动 IE。移除缓存后即可使用。
你可以试试。 :)
【讨论】:
【参考方案5】:就我而言,此异常是由启用 SSL 的站点上的不安全 ajax 调用引起的。具体来说:我的网址是'http://...'
,而不是'https://...'
。我只是将其替换为'//...'
。
对我来说,这个错误具有误导性,希望这可以帮助任何在搜索相同错误后登陆这里的人。
【讨论】:
【参考方案6】:我在点击 html 时遇到了这个问题,通过添加 type = "button" 属性来修复它。
【讨论】:
【参考方案7】:当触发 ajax 请求时,我收到了相同的控制台警告,因此我的表单也无法正常工作。
我使用以下响应标头禁用了服务器的 ajax 调用缓存:
Cache-Control: no-cache, no-store, must-revalidate
Expires: -1
Pragma: no-cache
在此之后,表单正在工作。关于如何添加这些响应标头,请参阅您正在使用的服务器语言(c#、php、java 等)。
【讨论】:
【参考方案8】:我在 Internet Explorer 上遇到了类似的问题,并且得到了相同的错误号。罪魁祸首是 HTML 评论。我知道这听起来令人难以置信,所以这就是故事。
我在网上看到了6篇系列文章。我喜欢它们,所以我决定下载这 6 个网页并将它们存储在我的硬盘上。在每一页的顶部,有几个 HTML <a>
标签,可以让您转到下一篇文章或上一篇文章。所以我将 href 属性改为指向我硬盘上的下一个文件夹,而不是 Internet 上的下一个 URL。
在所有链接都被重定向后,当我点击链接时,浏览器拒绝显示任何网页。控制台中的消息是本页顶部提到的错误号。
然而,真正的问题是评论。每当您使用 Google Chrome 下载网页时,Chrome 浏览器都会在页面的最顶部插入一个评论,其中包含您从中获取网页的位置的 URL。在我删除了 6 个页面中每个页面顶部的评论后,所有链接都运行良好(尽管我继续在控制台中收到相同的错误消息。)
【讨论】:
【参考方案9】:前往
Tools > Compatibility View settings > Uncheck the option "Display intranet sites in Compatibility View"
。
点击Close
。它可能会重新启动页面,然后您的问题就会得到解决。
【讨论】:
如果找不到“工具”,请右键单击IE11窗口的标题启用命令栏 我试过这个调试,还是出现警告。以上是关于表单/JavaScript 无法在 IE 11 上运行并出现错误 DOM7011的主要内容,如果未能解决你的问题,请参考以下文章
Django,Javascript:通过 javascript innerHtml 注入 DOM 的表单在提交时崩溃 google chrome 选项卡。在 IE 中工作
Javascript - forEach()循环不能在IE11上运行
无法使用 php、javascript 在 IE 上打印 iframe,而是打印当前页面,而不是其中有打印按钮