在禁用javascript的情况下在IE中呈现html5页面

在禁用javascript的情况下在IE中呈现html5页面,javascript,internet-explorer,html,Javascript,Internet Explorer,Html,有没有人能建议如何在IE中使用已禁用javascript的html5页面 HTML5是标记。它与javascript完全无关。因此,如果您以不需要javascript的方式设计HTML5页面,那么,至少在支持HTML5的最新版本上,它在IE上运行良好。顺便说一句,这不仅适用于IE,也适用于任何浏览器。以下是HTML5文档的一个示例: <!DOCTYPE html> <html> <head> <meta charset="utf-8" />

有没有人能建议如何在IE中使用已禁用javascript的html5页面

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

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

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

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

如果我需要与IE兼容的HTML5,标准技术之一是使用div,而不是或标记,与如下类一起使用div:

<div class="article">
  <div class="section">
    Section Text here.
  </div>
</div>
这是非常有效的HTML5,如果您将它与所有标准内容(如)一起输入到验证器中,它将通过。唯一的问题是它在语义上是无效的,这可能是对你来说很重要的

如果你想两全其美,并且你正在使用PHP、ASP.NET或类似的东西从服务器上传送你的内容,你可以尝试一些用户代理嗅探,如果UA是IE或看起来像IE,那么发送上面显示的非语义标记,否则,只发送普通的HTML5标准语义标记。问题在于,仅仅为了传递语义标记而解析UA字符串是否值得付出努力和含糊不清

除此之外,据我所知,没有JavaScript,IE无法识别HTML5语义元素


可能不是你想要的答案,但可能符合你的目的。

假设你在谈论

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


你指的是什么版本的IE

目前的版本IE9完全支持HTML5,开箱即用

但我怀疑你指的是IE8或以下版本,以及基于Javascript的HTML5黑客

如果这就是你的意思,那么答案是“不”。很抱歉。IE8和早期版本不支持HTML5元素,如果HTML包含未知元素,它们也不能正常工作;这意味着它们实际上不支持HTML5

html5shiv黑客和Modernizer中的类似代码可以工作,因为IE有一个“特性”,即如果使用Javascript在DOM中创建元素,那么浏览器随后将识别该元素类型。这允许这些黑客使用Javascript为HTML5标记创建一组元素,然后IE可以在页面中使用这些标记

这只有在IE使用Javascript的方式中才能实现。没有Javascript是不可能实现的

同样值得指出的是,即使有了这种黑客行为,IE8也不支持HTML5。HTML5包含的不仅仅是几个新元素标记,而且不支持任何其他额外功能,无论您是否运行HTML5

对于旧版本IE中没有的所有其他现代浏览器功能,有各种各样的方法来添加这些功能。您可以在此处看到一个相当完整的列表:

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


但我想你的问题的真正问题是,一个使用HTML5编写的现代网站几乎肯定会使用Javascript本身。一些HTML5特性,如画布,如果没有一些Javascript代码来操作,实际上是毫无意义的。因此,事实上,在基于HTML5的现代网站上关闭Javascript后,不只是IE会很难工作;几乎所有浏览器都会出现问题。

你说的HTML5到底是什么意思?它使用CSS3吗?网页字体?页眉和页脚元素?此外,哪种版本的IE?只有当你能提出一种不使用火箭将汽车送入近地轨道的方法时。除非你心里有一个非常具体的用例,否则不使用javascript就不可能填补IE中HTML5的功能空白。我已经尽我所能回答了这个问题,试图从字里行间理解你在这里实际提出的问题。但你的问题并不是很好地被问到:你需要提供更多关于你所指的IE版本的信息,以及你试图支持的HTML5的哪些功能。嗨,我的意思是,如果我使用HTML5,我将使用shiv或modernizer,以便IE能够正确地呈现旧版本,即6,7 n 8。然而,javascript在浏览器中被禁用,这是怎么回事?@Sza,好了,现在你的问题更清楚了。如果javascript被禁用了,你会被IE 6和7搞得一团糟:-那么为什么要在意呢?用这种方式使用div不是html5,不是吗?无论如何,谢谢你的邀请reply@Sza-我已经用一些关于用户代理字符串解析的东西更新了我的答案,这可能会对你有所帮助,但是如果没有JavaScript,也就是说无法读取新的HTML5标记,它就是无法使用。