2013-08-25 45 views
0

我有提議使用ASP.Net技術構建我的商業網站。僅在Internet Explorer瀏覽器中可用的ASP.Net網站的哪些功能?

我擔心這種方式會讓我陷入微軟的網絡瀏覽器IE。

所以我的問題是有沒有ASP.Net網站的任何要點與其他網絡瀏覽器不兼容,例如Chrome,Firefox,Safari和Opera?

換句話說,哪些東西只能在IE上運行?

摘要問題(S)與最新的瀏覽器(.NET框架4.5以下版本,IE10,IE11

  1. 使用舊的.NET Framework;所有版本都在這個答案的時候最新)
  2. 編寫特定於IE的客戶端JavaScript代碼,但這與ASP.Net無關;它相當於開發人員IE綁定的編碼習慣
  3. 使用Ajax進行服務器控制;多年前回到了2005年,但現在還沒有2013年
+1

ASP.Net不依賴於瀏覽器。它生成HTML – codingbiz

+0

我認爲它的確如 –

回答

3

ASP.NET檢測瀏覽器功能(使用CSS,JavaScript等),併爲從低級到高級的相應瀏覽器生成適當的HTML。

如果您使用最新的瀏覽器(例如IE10,IE11 - 此答案的最新版本)使用較舊的.NET Framework(此版本4.5以下是當前此答案的當前版本),則可能遇到的唯一問題是, 。然後它可能無法識別瀏覽器並生成不正確的HTML/JavaScript。

否則,非MS瀏覽器訪問和查看ASP.NET網站沒有問題。


P.S.當然,如果您編寫特定於IE的 客戶端站點 JavaScript代碼,但這會與ASP.NET無關,您可能會遇到問題

+1

的答案這只是部分正確的。只有在使用Ajax等特定功能時纔是如此。一般來說,對於你寫的99.99%,瀏覽器之間的輸出沒有差別。幾年前(早在2005年的時間框架)就是如此,但沒有任何現代的東西。 –

+1

其實有很大的差異。 IE,特別是舊版本有很多專有的客戶端東西。從諸如「innetText」之類的DOM到「getElementsByClassName」之類的缺失功能,客戶端代碼中可能會遇到許多許多事情。哦,如果你的意思是生成的HTML差異 - 只是谷歌或搜索「IE10 _doPostBack」或「IE10 SCRIPT5022錯誤」。 –

+0

正如我所說的,它只適用於像Ajax服務器控件(或您自己的自定義JavaScript)的東西。使用普通的非Ajax服務器控件不是問題。我的觀點是,這只是一個問題,當它真的很重要時(當有合法的瀏覽器差異時)。你的文章聽起來好像它呈現非IE瀏覽器的方式不同,事實並非如此..它都基於瀏覽器功能(實際上,如果browsercap文件過期了,你可以修改它)。 –

1

首先,我想指出,僅僅因爲您使用了asp.net並不意味着您必須使用Microsoft提供的服務器控件。您可以使用第三方控件,或編寫自己的控件。或者,您可以使用最少的服務器控件來支持主題,主頁等等,並在您自己的框架中執行其他任何操作。

這裏的要點是「使用asp.net」可能意味着很多不同的東西。儘管如此,如果您的開發人員要使用股票的asp.net控件(或者可能是一些第三方的控件),那麼您應該明白,asp.net並不綁定到任何特定的瀏覽器,但它可以被捆綁在一起到特定的瀏覽器功能。

ASP.NET使用了一種叫做browsercaps的文件,它通過它的用戶代理字符串來標識瀏覽器,這告訴asp.net瀏覽器支持哪些功能。比如什麼級別的JavaScript,什麼級別的CSS等等。如果有新的瀏覽器出現,您可能需要更新這個browsercaps文件,以使其被支持爲「上級」瀏覽器。低級瀏覽器呈現沒有特殊功能。

IE在這些檢測中不受歡迎,它不會以任何特定方式將您與IE綁定,除非您的開發人員編寫IE特定的代碼或HTML。

一般來說,這些不會在正常的asp中發揮作用。net網站,除非你需要做很多事情,比如Ajax,並且你正在使用ASP.NET Ajax服務器控件。

這很大程度上是「這取決於你的開發者如何實現」。確保您向開發人員指定您要求完全兼容瀏覽器,並指定您要支持的瀏覽器版本。瞭解支持舊版瀏覽器可能會花費更多資金,因爲舊版瀏覽器存在更多怪癖和不兼容問題。

所以回答你的標題提出的問題:

有ASP.NET沒有的功能,在Internet Explorer中只提供

然而,也有很多的功能,是不是在某些瀏覽器(如純文本瀏覽器,如Lynx ......顯然)中可用,尤其是舊版瀏覽器或某些移動瀏覽器等。

+0

感謝您的好解釋。雖然,你幫助指出的兩件事情1)IE特定的代碼和2)AJAX服務器控制令我擔心。開發人員的編碼習慣會經常引發這個問題。 @ 2對我來說真的是一個障礙:( –

+0

)請給我一些與IE綁定的AJAX服務器控件的例子嗎? –

+1

@ NamG.VU - 我不知道你是怎麼誤解我的,我很清楚。不是ASP.NET的特性,只能在Internet Explorer中提供,即使是我剛纔提到的Ajax的東西,它都是關於瀏覽器的功能,而不是特定的瀏覽器品牌。 –

相關問題