在IE中渲染html5页面,禁用javascript

时间:2011-07-23 21:26:56

标签: javascript internet-explorer html5

任何人都可以建议如何在禁用javascript的情况下在IE中渲染html5页面?

5 个答案:

答案 0 :(得分:1)

HTML5是标记。它与javascript完全无关。因此,如果您以不需要javascript的方式设计HTML5页面,那么它将在IE上正常运行(至少在支持HTML5的最新版本上)。顺便说一句,这不仅适用于IE,也适用于任何浏览器。以下是HTML5文档的示例:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title>HTML5 demo</title>
</head>

<body>
    <div>Hello World</div>
</body>
</html>

当然,根据您使用的IE版本和不同的HTML标记元素,如果支持,有些可能会正常呈现,而其他可能不会。

答案 1 :(得分:1)

如果我需要IE兼容的HTML5,标准技术之一是使用包含这样的类的div而不是<section><article>标记:

<div class="article">
  <div class="section">
    Section Text here.
  </div>
</div>

这是完全有效的HTML5,如果您将其提供给验证程序(以及所有标准内容,例如<html><head><body>),它就会通过。唯一的问题是它不是语义有效,这可能对你很重要。

如果你想要两全其美,并且你正在使用像PHP,ASP.NET或类似的东西来从服务器提供你的内容,你可以尝试一些用户代理嗅探,如果UA是IE(或者看起来像是),然后发送上面显示的非语义标记,否则,只发送普通的HTML5标准语义标签。问题是,解析UA字符串的努力(和模糊性)是否值得提供语义标记。

除此之外,据我所知,没有JavaScript可以让IE识别HTML5语义元素。

答案 2 :(得分:1)

假设你在谈论HTML5 semantic elements ..

没有真正的解决方案。这是对可能的解决方法的一个很好的讨论:

http://debeterevormgever.nl/en/articles/html5-elements-ie-without-javascript

答案 3 :(得分:1)

您指的是哪个版本的IE?

当前版本IE9支持HTML5,开箱即用。

但我怀疑你指的是IE8或更低版本,以及基于Javascript的html5shiv hack?

如果这就是你的意思,那么答案就是'不'。对于那个很抱歉。 IE8及更早版本不支持HTML5元素,如果HTML包含未知元素,它们将无法正常工作;这意味着它们实际上不支持HTML5。

html5shiv hack(和Modernizr中的类似代码)有效,因为IE有一个'功能',如果使用Javascript在DOM中创建一个元素,那么浏览器将识别该元素类型。这允许这些黑客使用Javascript为HTML5标签创建一堆元素,然后对于IE,可以在页面中使用这些标签。

这是唯一可能的,因为IE使用Javascript的方式具有此功能。没有Javascript就无法实现它。

值得指出的是,即使有这种黑客攻击,IE8也不支持HTML5。 HTML5不仅仅包含一些新元素标签,而且无论您是否运行html5shiv,都不支持其他额外功能。

对于旧版IE中不存在的所有其他现代浏览器功能,有各种各样的黑客可以添加功能。您可以在此处查看相当完整的列表:https://github.com/Modernizr/Modernizr/wiki/HTML5-Cross-Browser-Polyfills

但正如您可能已经知道的那样,几乎所有这些都需要Javascript。

但我想你问题的真正问题在于,使用HTML5编写的现代网站几乎肯定会使用Javascript本身。一些HTML5功能(如Canvas)实际上毫无意义,没有一些Javascript代码来操纵它们。所以事实上,在现代的基于HTML5的网站上关闭Javascript并不仅仅是IE。几乎任何浏览器都会遇到问题。

答案 4 :(得分:0)

http://code.google.com/chrome/chromeframe/

可能不是您正在寻找的答案,但可能适合您的目的。