有没有办法确定IE是标准浏览器还是C#表单中的嵌入式控件?

有没有办法确定IE是标准浏览器还是C#表单中的嵌入式控件?

问题描述:

在HTML/JS范围内,我想区分两种情况。有没有办法确定IE是标准浏览器还是C#表单中的嵌入式控件?

我不知道是否有一种方法发现,通过一些窗口/文档属性?

+0

我能问为什么它是你需要知道其中的差别? – Sampson

+0

没有“C#表单”这样的东西 - 一旦它在客户端上,它就是HTML。 –

+0

@Diodeus,但可以使用API​​的差异,不是吗? –

没有,真的没有肯定的方式来做到这一点。您可以根据在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方式迭代 - 这使得很难猜测在这种情况下可能出现的新属性。 –