我使用HTML 5编写了一个应用程序,当有人从IE访问时,我不想显示错误框而不是页面。当它将navigator.appName
检测为Microsoft Internet Explorer
时,它会隐藏所有内容,并显示隐藏的错误div。 div如下:
<div id='ieerror' style='display:none;width:500px;height:500px;border:3px solid #ff0000;position:absolute;top:50%;left:50%;margin-top:-250px;margin-left:-250px;'>
<center>
<h1 style='font-size: 30px;'>Internet Explorer is not supported by Aud!</h1><br /><br />
<p>Internet Explorer does not support HTML 5 and therefore this application cannot run.<br />
Please upgrade your browser. We suggest <a href='http://www.google.com/chrome'>Google Chrome</a>!</p>
</center>
</div>
问题是,当我在IE中访问该页面时,div会弹出边框,但它没有内容。里面没有任何东西。我去了view->source
并查看了它,代码仍在那里,但没有一个被渲染。我该如何解决这个问题?
答案 0 :(得分:3)
如果没有看到页面的整个HTML,很难确切地知道出现了什么问题(如果页面可以通过互联网访问,你应该发布一个URL!),但这就是我如何处理问题:
center
元素定义为白色背景下的纯文本。或者不太明显的问题,如继承溢出或自动换行样式,导致包含的内容被剪切或隐藏。 div
作为body
元素的直接子项。这将消除任何育儿问题。 无论如何,你得到了基本的想法:继续删除和简化事情,直到它开始工作,从最容易改变的事情开始,然后继续进行大手术。在某些时候,你将孤立问题,从那里,通常很快找到一个修复。
答案 1 :(得分:1)
IE可能会级联“display:none;”通过该父级的子元素。尝试修改JavaScript以修改这些元素的显示属性。
答案 2 :(得分:0)
你的风格说显示:无?如果删除所有样式代码并返回IE,那么你会看到任何文本吗?
答案 3 :(得分:0)
我在IE中尝试了这个代码,它可以按照您的预期工作,但只有在我想起之后
div.style.display = "block";
在 div
之后。当我错误地把它放在前面时,它引发了一个(无声的)错误。
答案 4 :(得分:0)
您可以尝试使用Internet Explorer Developer Toolbar查看是否有任何样式应用于您不想要的DIV。