Определить, работает ли веб-сайт с использованием веб-просмотра в windows формах - PullRequest
0 голосов
/ 11 февраля 2020

Как указано выше. Мне не нужно делать с этим ничего особенного. Я провел небольшое исследование вокруг, но я не могу найти правильное решение. Я планирую скрыть боковую панель в своем приложении React, если пользователь запускает веб-сайт через Webview в приложении Windows форм. Как лучше всего подойти к нему? Проверка версии или того, на каком браузере запущен, не является go, поскольку Webview использует браузер по умолчанию или браузер, описанный в методе, поэтому он просто возвращает это. Имейте в виду, что обнаружение может быть выполнено либо в приложении Forms, либо в приложении React, не имеет значения, какое. Мы ценим любые предложения.

1 Ответ

1 голос
/ 12 февраля 2020

Я также могу подумать о следующих решениях:

  • Обработка с помощью DOM-манипуляции в приложении: Как вариант, ваше приложение может скрыть боковую панель с помощью найти элемент в DOM и спрятать его.

  • Отправить новую строку агента пользователя на сервер и отобразить другой вывод на сервере: В качестве другого варианта вы можете подумать о ваше приложение в качестве нового пользовательского агента. Таким образом, вы можете отправить пользовательский заголовок агента пользователя вместе с вашим запросом. Именно так я уже притворялся, что запрос поступает с мобильного телефона . Вы можете сделать нечто подобное для своего приложения.

Пример

[DllImport("urlmon.dll", CharSet = CharSet.Ansi)]
private static extern int UrlMkSetSessionOption(int dwOption, string pBuffer,
    int dwBufferLength, int dwReserved);
const int URLMON_OPTION_USERAGENT = 0x10000001;

string additionalHeaders = "User-Agent:MyApp\r\n";
private void Form1_Load(object sender, EventArgs e)
{
    UrlMkSetSessionOption(URLMON_OPTION_USERAGENT,
        additionalHeaders, additionalHeaders.Length, 0);
    webBrowser1.Navigate("http://google.com");
}

Тогда ваш сайт может принять решение о рендеринге на основе пользовательского агента.

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