检测WebBrowser控件

时间:2010-02-04 00:26:27

标签: javascript webbrowser-control user-agent

有什么方法可以判断我的网站是否被webbrowser控件的实例访问?是否可以通过用户代理w / php识别它?或者也许是一些javascript hack?或者它与服务器端的常规IE 100%相同?

2 个答案:

答案 0 :(得分:3)

只是一个愚蠢的想法,但你不能只将window.outerHeightwindow.innerHeight进行比较,衡量IE的预期差异,如果不是它的WebBrowser控件?

这太糟糕了,但在大多数情况下都能奏效。还有其他一些你可以尝试做的事情,在IE中以某种方式工作的东西,但可能不适用于WebBrowser控件。

例如:

  • 下载文件
  • 打开一个新窗口/标签

答案 1 :(得分:2)

似乎在将任何内容分配给window.external时会引发特定错误。所以检查可能类似

const isWebBrowserControl = () => {
  try {
    window.external = window.external
    return false
  } catch (error) {
    if (error.message === 'I don\'t remember this. Some specific error message.') {
      return true
  }
}

但这是一种潜在的“破坏性”检查。但我真的不觉得这会导致任何问题。