Определить элемент управления WebBrowser - PullRequest
7 голосов
/ 04 февраля 2010

Можно ли как-то определить, осуществляется ли доступ к моему сайту с помощью экземпляра веб-браузера? Можно ли будет идентифицировать его по пользовательскому агенту с php? Или, может быть, какой-нибудь взлом JavaScript? Или он на 100% идентичен обычному IE со стороны сервера?

Ответы [ 2 ]

3 голосов
/ 20 июля 2017

Просто глупая идея, но не могли бы вы просто сравнить window.outerHeight с window.innerHeight, измерить ожидаемую разницу для IE, а если нет, то это элемент управления WebBrowser?

Это чертовски хакерски, но может работать в большинстве случаев. Есть и другие вещи, которые вы можете попытаться сделать, вещи, которые будут работать определенным образом в IE, но, вероятно, не будут работать в элементе управления WebBrowser.

Например:

  • скачать файл
  • открыть новое окно / вкладку
2 голосов
/ 24 июля 2017

Кажется, что возникает конкретная ошибка, когда что-либо назначено на 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
  }
}

Однако это потенциально «разрушительная» проверка.Но я действительно не чувствую, что это вызовет какие-либо проблемы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...