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

Javascript 有没有办法确定IE是标准浏览器还是C#Form中的嵌入式控件?,javascript,winforms,internet-explorer,Javascript,Winforms,Internet Explorer,在HTML/JS范围内,我想区分这两种情况 我想知道是否有办法通过一些窗口/文档属性找到它?没有,确实没有确定的方法可以做到这一点。您可以根据在UserAgent中传递的版本号进行一些猜测,但正如您所提到的,这可能是伪造的 我不确定您的确切用例是什么,但当我发现嵌入式控件和浏览器的行为之间存在一些不一致时;回答中的信息很有帮助 看一看,它提供了对Windows Internet Explorer浏览器组件的主机应用程序提供的附加对象模型的访问。您将能够在本机部分中定义特殊标识符,然后从html/

在HTML/JS范围内,我想区分这两种情况


我想知道是否有办法通过一些窗口/文档属性找到它?

没有,确实没有确定的方法可以做到这一点。您可以根据在UserAgent中传递的版本号进行一些猜测,但正如您所提到的,这可能是伪造的

我不确定您的确切用例是什么,但当我发现嵌入式控件和浏览器的行为之间存在一些不一致时;回答中的信息很有帮助

看一看,它提供了对Windows Internet Explorer浏览器组件的主机应用程序提供的附加对象模型的访问。您将能够在本机部分中定义特殊标识符,然后从html/js中检查它。近似


另外,对于Windows Phone应用程序,您只需检查Windows.external.notify-是否仅存在于托管的web浏览器控件中。

我可以问一下为什么您需要了解其区别吗?没有“C#表单”之类的东西-一旦它出现在客户端上,它就只是HTML。@Diodeus但是,可以使用的API可能存在差异,不是吗?您可以从HTTP头中的用户代理检测到它。这很容易被欺骗。例如,请参阅。我已选中该选项。但是,我无法控制客户端,只能控制服务器端和window.external属性,在obj方式的for prop中无法使用,这使得很难猜测在这种情况下会出现什么新属性。