解决C WebBrowser插件中的JavaScript报错问题

2020-07-01

解决C# WebBrowser插件中的JavaScript报错问题

简介

本资源文件提供了一个解决方案,用于解决C#中的WebBrowser插件在加载网页时遇到的JavaScript报错问题。通过升级WebBrowser内核,可以有效避免这些错误,确保网页的正常加载和运行。

适用情况

  • 当WebBrowser插件在访问某些网站时,出现“缺少标识符错误”或“语法错误”等JavaScript报错。
  • 通过本方法升级WebBrowser内核后,如果问题仍然存在,请参考文章末尾的其他解决方案。

使用方法

  1. 引入DLL文件:将提供的DLL文件引入到你的C#项目中。
  2. 引用控件:在WebBrowser组件的源码程序头部引用控件:
    using WebBrowserUtils;
    
  3. 设置内核版本:在窗体初始方法InitializeComponent()上方加入以下代码,设置WebBrowser内核版本:
    WebBrowserUtil.SetWebBrowserFeatures(11);
    

示例代码

using Microsoft.Win32;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using WebBrowserUtils;

namespace WindowsFormsApp1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            WebBrowserUtil.SetWebBrowserFeatures(11);
            InitializeComponent();
        }
    }
}

其他注意事项

  • 如果使用本工具类后仍然弹窗报错或显示内容为白屏,可能是由于前端使用了ES6语法,WebBrowser组件不支持。此时可以考虑以下解决方法:
    1. 前端导入Babel组件。
    2. 更换WebKit组件(谷歌内核)。
    3. 更换CefSharp组件(谷歌内核)。
    4. 更换WebView2组件(Edge内核)。

下载链接

请在下方下载所需的DLL文件:

[下载链接]

版权声明

本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。

下载链接

解决CWebBrowser插件中的JavaScript报错问题