0

我有提议使用 ASP.Net 技术建立我的商业网站。

我担心这种方式会让我陷入微软的网络浏览器 IE 中。

所以我的问题是 ASP.Net 网络是否有任何与其他网络浏览器不兼容的点,例如 Chrome、Firefox、Safari 和 Opera?

换句话说,什么东西只能在 IE 上运行?

问题摘要

  1. 将较旧的 .NET Framework 与最新的浏览器一起使用(.Net Framework 低于 4.5 版和 IE10、IE11;所有版本在此答案时都是最新的)
  2. 编写特定于 IE 的客户端 JavaScript 代码,但这与 ASP.Net 无关;它是开发人员与 IE 相关的编码习惯
  3. 使用 Ajax 进行服务器控制;几年前回到 2005 年,但现在不是 2013 年
4

2 回答 2

3

ASP.NET 检测浏览器功能(使用 CSS、JavaScript 等)并为各个浏览器从下层和上层生成适当的 HTML。

如果您在最新的浏览器(例如 IE10、IE11 - 在本回答时最新)使用较旧的 .NET Framework(低于 4.5 版,这是本答案时的最新版本),您可能会遇到的唯一问题。然后它可能无法识别浏览器并生成不正确的 HTML/JavaScript。

否则,非 MS 浏览器访问和查看 ASP.NET 网站没有问题。


PS 当然,如果您编写特定于 IE 的客户端JavaScript 代码,您可能会遇到问题,但这与 ASP.NET 无关

于 2013-08-25T23:24:25.597 回答
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 服务器控件。

其中很大一部分是“这取决于您的开发人员如何实现事物”。确保向开发人员说明您要求完全兼容浏览器,并指定您想要支持的浏览器版本。了解支持旧版浏览器可能会花费更多钱,因为旧版浏览器有更多的怪癖和不兼容性。

所以回答你在标题中提出的问题:

没有仅在 Internet Explorer 中可用的 ASP.NET 功能

但是,有很多功能在某些浏览器中不可用(例如纯文本浏览器,例如 Lynx .. 显然),特别是较旧的浏览器或某些移动浏览器等。

于 2013-08-25T23:51:44.637 回答