Два моих знакомых протестировали проект, над которым я работал, который использует использование элемента управления WebBrowser, и столкнулся с постоянным сценарием, в котором элемент управления WebBrowser не может выполнить какой-либо JavaScript на содержащейся веб-странице.
Чтобы сузить его, я создал новый проект Windows Forms, который содержит только элемент управления WebBrowser, и пытается перейти на следующую страницу: http://javatester.org/javascript.html
Результат на моем компьютере друзей был ниже (нажмите, чтобы увеличить):
Как вы можете видеть, при попытке вызова специального кода 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 включен, эта проблема находится исключительно в этом тестовом приложении и в основном проекте, частью которого он является.
Любая помощь будет оценена по достоинству, я потратил два месяца на то, чтобы понять это и все еще не могу.