JavaScript未在.NET WebBrowser控件中执行

ergxz8rk  于 2023-01-01  发布在  Java
关注(0)|答案(2)|浏览(155)

我的两个朋友测试了我一直在从事的一个依赖于WebBrowser控件的使用的项目,并设法遇到了WebBrowser控件无法在所包含的网页上执行任何JavaScript的常见情况。
为了缩小范围,我创建了一个仅包含WebBrowser控件的新Windows窗体项目,并尝试导航到以下页面:http://javatester.org/javascript.html
在我朋友的电脑上的结果如下(点击放大):

正如你所看到的,当试图调用JS特定的代码时,它不会呈现任何东西,或者,如果你在一个禁用或启用JS的Web浏览器中查看它,你会看到一些东西。
他导出了他的注册表项,其中包含启用JavaScript的设置(请参见https://gist.github.com/4699943),每个项中的1400值与我使用的设置相同,当我运行程序时没有问题。
整个测试项目的代码如下所示:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Shown(object sender, EventArgs e)
        {
            this.webBrowser1.Navigate("http://javatester.org/javascript.html");
        }
    }
}

如果一个新的项目是使用这个代码创建的,目标是4.5框架(无论是在我的机器上还是他的机器上),它会工作,但是如果一个项目是使用4.0或更低版本创建的,上面的结果会出现。我不确定这是一个巧合,还是确实与问题/解决方案有关。
应该注意的是,如果他在Internet Explorer中导航到此页面,则没有任何问题,它检测到JavaScript已启用,此问题仅存在于此测试应用程序及其所属的主项目中。
任何帮助将不胜感激,我已经花了两个月的时间试图弄清楚这一点,仍然不能。

b91juud3

b91juud31#

根据我的测试,WebBrowser with .NET 4报告了IE 7.0的Web浏览器代理字符串。因此,首先检查您的JavaScript在IE7中是否正常工作。

mrfwxfqh

mrfwxfqh2#

脚本不加载,如果你使用的是网页浏览器控件。文档文本属性。它完全与导航方法罚款。我需要文档文本属性工作,因为我从第三方获得html。相同的html内容工作完全罚款,如果我创建一个html文件出来,并在常规IE浏览器中打开它。网页浏览器控件是错误的。

相关问题