2011-07-23 19 views
-3

任何人都可以提示如何在IE中使用javascript disbaled呈現html5頁面?在JavaScript中禁用Javascript呈現html5頁面

+0

你究竟是什麼意思的HTML5?它使用CSS3嗎? Web字體? 'header'和'footer'元素?另外,哪個版本的IE? – Soumya

+0

只有當您可以建議一種方法將汽車放入低地軌道而不使用火箭時。除非你有一個*非常*特定的用例,否則在IE中填充HTML5功能缺口是不可能的,而不使用javascript。 – Lucas

+1

我已盡最大努力回答了問題,試圖在各行之間閱讀以瞭解您實際詢問的內容。但是您的問題確實沒有得到很好的解答:您需要提供更多關於您所指的IE版本的信息,以及您試圖支持的HTML5功能。 – Spudley

回答

1

HTML5是標記。它完全與javascript無關。因此,如果你設計HTML5頁面的方式不需要JavaScript,那麼它在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標記元素的版本,如果另一些人也許不支持一些可能會正確顯示。

+0

嗨,我的意思是如果我使用html5我將使用shiv或modernizer,以便IE可以正確呈現,舊版本即6,7 n 8。但是JavaScript在瀏覽器中被禁用,這是如何工作的? – Sza

+0

@Sza,好的,現在你的問題更加清晰。那麼,如果javascript被禁用,你幾乎與IE 6和7搞砸了:-)爲什麼要關心? –

1

如果我需要IE瀏覽器兼容HTML5的標準技術之一是,而不是<section><article>標籤,使用的div類是這樣的:

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

這是完全有效的HTML5,如果你餵它會變成驗證程序(以及所有標準材料,例如<html>,<head><body>)。唯一的問題是,它不是語義上有效,這可能是什麼對你很重要。

如果您想要兩全其美,並且您正在使用類似PHP,ASP.NET或類似軟件的服務器提供您的內容,您可以嘗試一些用戶代理嗅探,並且如果UA是IE(或者看起來像),然後發送上面顯示的非語義標記,否則,只發送普通的HTML5標準語義標記。問題在於,解析UA字符串的努力(以及含糊不清)是否值得傳遞語義標記。

除此之外,據我所知,沒有辦法讓IE瀏覽器識別沒有JavaScript的HTML5語義元素。

+0

Uaing div這種方式不是html5不是嗎? Anywaz感謝您的回覆 – Sza

+0

@Sza - 我已經用用戶代理字符串分析更新了我的答案,這可能會對您有所幫助,但是如果沒有JavaScript,IE瀏覽器無法閱讀新的HTML5標籤,它只是無法使用。 –

1

你指的是什麼版本的IE?

當前版本,IE9,支持HTML5就好了,開箱即用。

但我懷疑你指的是IE8或以下,以及基於Javascript的html5shiv黑客?

如果這就是你的意思,那麼答案是'不'。對於那個很抱歉。 IE8和更早版本不支持HTML5元素,如果HTML包含未知元素,則它們不能正常工作;這意味着他們實際上不支持HTML5。

html5shiv hack(和Modernizr中的類似代碼)可以工作,因爲IE具有'特性',因此如果使用Javascript在DOM中創建元素,那麼隨後瀏覽器將識別該元素類型。這使得這些黑客可以使用Javascript爲HTML5標記創建一堆元素,然後讓IE能夠在頁面中使用這些標記。

這是唯一可能的,因爲IE瀏覽器支持Javascript的方式具有此功能。沒有Javascript就無法實現它。

還值得指出的是,即使有這個黑客,IE8不支持HTML5。無論您是否運行html5shiv,HTML5都不僅僅包含一些新的元素標記,也不支持其他額外的功能。

對於所有其他現代瀏覽器功能,這些瀏覽器功能在舊版本的IE中都不存在,因此有各種各樣的黑客可以添加功能。你可以在這裏看到一個合理完整的列表:https://github.com/Modernizr/Modernizr/wiki/HTML5-Cross-Browser-Polyfills

但是,正如你可能已經知道,幾乎所有的人都需要Javascript。

但我想你的問題真正的問題是,使用HTML5編寫的現代網站幾乎肯定會使用Javascript本身。一些HTML5功能(如Canvas)幾乎沒有任何Javascript代碼來操縱它們。所以事實上,不僅僅是IE瀏覽器將難以在基於HTML5的現代網站上關閉Javascript;幾乎任何瀏覽器都會遇到問題。

相關問題