Подтвердить что ты не робот

JavaScript не выполняется в элементе управления .NET WebBrowser

Два моих знакомых протестировали проект, над которым я работал, который использует использование элемента управления WebBrowser, и столкнулся с постоянным сценарием, в котором элемент управления WebBrowser не может выполнить какой-либо JavaScript на содержащейся веб-странице.

Чтобы сузить его, я создал новый проект Windows Forms, который содержит только элемент управления WebBrowser, и пытается перейти на следующую страницу: http://javatester.org/javascript.html

Результат на моем компьютере друзей был ниже (нажмите, чтобы увеличить):

Control render

Как вы можете видеть, при попытке вызова специального кода JS он не обращается ни к чему, иначе, если вы просмотрите его в веб-браузере с отключенным или отключенным JS, вы увидите что-то.

Он экспортировал свои ключи реестра, содержащие параметры для включенного 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 включен, эта проблема находится исключительно в этом тестовом приложении и в основном проекте, частью которого он является.

Любая помощь будет оценена по достоинству, я потратил два месяца на то, чтобы понять это и все еще не могу.

4b9b3361

Ответ 1

Из моих тестов WebBrowser с .NET 4 сообщает строку агента веб-браузера IE 7.0. Поэтому сначала проверьте, правильно ли работает JavaScript в IE7.

Ответ 2

Сценарии не загружаются, если вы используете элемент управления webbrowser. Свойство Text документа. Это отлично с помощью метода навигации. Мне нужно свойство текста документа для работы, поскольку я получаю html от третьей стороны. Тот же html-контент отлично работает, если я создаю из него html файл и открываю его в обычном браузере IE. Элемент управления веб-браузером не работает.