检测网站是否使用 windows 形式的 webview 运行
Detect if website runs using webview in windows forms
同上。我不需要对它做任何花哨的事情。我已经做了一些研究,但我似乎无法找到合适的解决方案。如果用户通过 Windows 表单应用程序中的 Webview 访问 运行 网站,我计划在我的 React 应用程序中隐藏边栏。接近它的最佳方法是什么?
检查版本或 运行 使用的浏览器是行不通的,因为 Webview 使用的是默认浏览器或方法中描述的浏览器,因此它只会 return 那样。
请记住,可以在 Forms 应用程序或 React 应用程序中进行检测,这无关紧要。
任何建议,将不胜感激。
我也能想到以下解决方案:
通过应用程序中的 DOM 操作来处理它: 作为一个选项,您的应用程序可以通过在 [=] 中找到元素来隐藏侧边栏34=] 并隐藏它。
向服务器发送一个新的用户代理字符串并由服务器呈现不同的输出:作为另一种选择,您可以将您的应用程序视为一个新的用户代理.因此,您可以随请求一起发送自定义用户代理 header。这是我已经用来假装 request is coming from a mobile phone 的方式。您可以为您的应用程序做类似的事情。
例子
[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");
}
然后您的站点可以根据用户代理决定渲染。
同上。我不需要对它做任何花哨的事情。我已经做了一些研究,但我似乎无法找到合适的解决方案。如果用户通过 Windows 表单应用程序中的 Webview 访问 运行 网站,我计划在我的 React 应用程序中隐藏边栏。接近它的最佳方法是什么? 检查版本或 运行 使用的浏览器是行不通的,因为 Webview 使用的是默认浏览器或方法中描述的浏览器,因此它只会 return 那样。 请记住,可以在 Forms 应用程序或 React 应用程序中进行检测,这无关紧要。 任何建议,将不胜感激。
我也能想到以下解决方案:
通过应用程序中的 DOM 操作来处理它: 作为一个选项,您的应用程序可以通过在 [=] 中找到元素来隐藏侧边栏34=] 并隐藏它。
向服务器发送一个新的用户代理字符串并由服务器呈现不同的输出:作为另一种选择,您可以将您的应用程序视为一个新的用户代理.因此,您可以随请求一起发送自定义用户代理 header。这是我已经用来假装 request is coming from a mobile phone 的方式。您可以为您的应用程序做类似的事情。
例子
[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");
}
然后您的站点可以根据用户代理决定渲染。