Как отключить предупреждения JavaScript в элементе управления WebBrowser? - PullRequest
0 голосов
/ 03 октября 2009

Я использую элемент управления WebBrowser и mshtml.dll. Когда я имитирую нажатие на ссылку <a href='..'>..</a>, веб-браузер отображает диалоговое окно предупреждения JavaScript:

Невозможно переместить фокус на элемент, который находится в невидимом, выключен или не может иметь фокус.

Код, который я использую для симуляции клика:

anchor.click();

... где anchor имеет тип: HTMLAnchorElementClass

Поэтому я хочу отключить все предупреждения JavaScript в моем компоненте WebBrowser. Как я могу это сделать?

Ответы [ 3 ]

2 голосов
/ 04 октября 2009

Я не уверен, что ваша ссылка на Windows образует WebBrowser элемент управления, но у него есть свойство ScriptErrorsSuppressed для отключения сообщений об ошибках сценария.

0 голосов
/ 03 октября 2009

Это конкретное предупреждение можно обойти, если элемент ссылки будет частью страницы и будет видимым.

Вызов метода click() на самом деле делает больше, чем просто выполняет обработчик onclick и перемещается по браузеру, он также фокусирует элемент - так же, как когда происходит настоящий щелчок. Если элемент находится за пределами экрана, такое поведение невозможно.

Просто прикрепите ссылку к телу, чтобы не показывать это предупреждение.

0 голосов
/ 03 октября 2009

Вы должны найти место, где вы делаете anchor.click(); и либо удалить его, либо заменить его на if(anchor.clientHeight != 0){anchor.click();}.

...