有没有办法确定IE是标准浏览器还是C#表单中的嵌入式控件?
答
没有,真的没有肯定的方式来做到这一点。您可以根据在UserAgent中传递的版本号进行猜测,但正如您所提到的,这可能是欺骗性的。
我不知道您的具体使用情况是什么,但是当我发现的嵌入式控制和浏览器的行为之间有一些不一致;信息在this答案是有帮助的。
答
就以window.external看看它提供了访问由Windows Internet Explorer浏览器组件的主机应用程序提供了一个额外的对象模型。您将能够在本地部分中定义特殊标识符,然后从html/js中检查它。类似http://social.msdn.microsoft.com/forums/en-US/winforms/thread/737b54ee-6478-4354-8a51-bcf2e84256a3/
PS。在Windows Phone应用程序的情况下,您可以检查window.external.notify - 仅存在于托管的Web浏览器控件中。
+0
我已经检查过该选项。 但是,我无法控制客户端,只有服务器端和window.external属性不能在obj中以prop方式迭代 - 这使得很难猜测在这种情况下可能出现的新属性。 –
我能问为什么它是你需要知道其中的差别? – Sampson
没有“C#表单”这样的东西 - 一旦它在客户端上,它就是HTML。 –
@Diodeus,但可以使用API的差异,不是吗? –