我提议使用ASP.Net技术构建我的商业网站。
我担心这种方式会让我陷入微软的网络浏览器IE中。
所以我的问题是,ASP.Net网站有哪些与其他网络浏览器不兼容的要点,例如Chrome,Firefox,Safari和Opera?
换句话说,什么是只能在IE上运行的东西?
问题摘要
答案 0 :(得分:3)
ASP.NET检测浏览器功能(使用CSS,JavaScript等),并从下层和上层为各自的浏览器生成适当的HTML。
如果您使用最新的浏览器(例如IE10,IE11 - 本回答时的最新版本)使用较旧的.NET Framework(在此答案时最新版本为4.5),则可能遇到的唯一问题。然后它可能无法识别浏览器并生成错误的HTML / JavaScript。
否则非MS浏览器访问和查看ASP.NET网站没有问题。
<小时/> 附:当然,如果您编写特定于IE的客户端站点 JavaScript代码,您可能会遇到问题,但这与ASP.NET无关
答案 1 :(得分: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这样的纯文本浏览器......显然),特别是旧浏览器或某些移动浏览器等。