【问题标题】:I have an issue with my browser loading CSS I'm not sure what to do我的浏览器加载 CSS 时出现问题,我不知道该怎么办
【发布时间】:2021-08-24 07:19:26
【问题描述】:

好的,所以我正在使用 Visual Studio 2019 在 Winforms C# 中制作浏览器,我注意到在加载某些具有更高级 UI 的网站时,它要么看起来很奇怪,要么根本无法加载。我不确定这是为什么。

这也是我关于堆栈溢出的第一个问题,所以我不确定它是如何工作的。

【问题讨论】:

  • 欢迎您,@Wumpus。发布时,如果您可以发布一些重现您的问题的代码,那就太好了。事实上,我们必须猜测您正在使用哪个浏览器组件以及如何设置它,这使得我们很难为您提供帮助,除非我们之前已经看到您的确切问题。
  • 可以将网页设计为与不同的浏览器一起使用。您可以在请求中添加 http 标头以指定浏览器。请参阅:developer.mozilla.org/en-US/docs/Web/HTTP/Headers/User-Agent
  • 这个问题很模糊。它假定读者熟悉您的实现,并且不提供任何可以使用的细节。请考虑编辑您的问题并提供代码示例和详细信息。

标签: c# visual-studio browser


【解决方案1】:

在 winforms 中导入时,您的问题可能来自错误的 css 文件 url。 如果问题仍然存在,请检查 url,然后分享一些代码,以便我们重现您的问题。

【讨论】:

  • 它并没有真正回答这个问题。它应该是评论,而不是 anwser。
【解决方案2】:

WebBrowser 控件的问题在于默认情况下它以 IE7 呈现模式呈现输出。 我也重现了你的问题。

如果您不覆盖注册表中的功能浏览器模拟设置,将使用 Internet Explorer 7 渲染。

打开注册表,我用的key是:HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION

对于您的用户(当前用户),仅使用此密钥:

HKEY_CURRENT_USER\软件\微软\互联网 Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION

对于计算机/服务器上的所有用户,请使用此密钥:

在 64 位应用程序上的 64 位应用程序或 32 位计算机上的 32 位应用程序: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION

在 64 位机器上的 32 位应用程序上:
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION

价值:

11001 (0x2AF9) Internet Explorer 11。无论 !DOCTYPE 指令如何,网页都以 IE11 边缘模式显示。

9999 (0x270F) Windows Internet Explorer 9。网页以 IE9 标准模式显示,与 !DOCTYPE 指令无关。

因为我的可执行文件名为 browserloadingcss.exe,所以我添加了一个名为 browserloadingcss.exe 且值为 11001 的 DWORD 条目(以使用 Internet Exlporer 11-rendering)。 我也试过设置值9999,它可以正常渲染。

然后我运行我的程序并得到以下结果图:

【讨论】:

    猜你喜欢
    • 2021-06-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-01
    相关资源
    最近更新 更多