Доступ к JavaScript из C ++ / Delphi, когда мета IE = край - PullRequest
0 голосов
/ 01 марта 2019

У меня есть приложение (exe) с элементом управления WebBrowser.Я могу вызвать Javascript из C ++ или Delphi.Но мне нужен доступ к псевдо-стилю на веб-странице, например:

document.getElementById("..").pseudoStyle("before","background-color",color);

Поскольку IE11 не поддерживает pseudoStyle Я должен добавить мета:

<meta http-equiv="X-UA-Compatible" content="IE=edge"/>

Но тогда я могуне получить доступ к Javascript из приложения больше.Затем GetIDsOfNames возвращает -1, а при использовании IE11 возвращает идентификатор правильно.

Простой тест

Создайте исполняемый файл с элементом управления WebBrowser.Создайте файл HTML, который содержит JavaScript "function Test() { alert("here");}".Теперь перейдите к файлу.Это работает , вы можете назвать это «Тест» из вашего exe.

Теперь вставьте <meta http-equiv="X-UA-Compatible" content="IE=edge"/> в файл HTML.Тогда вы больше не сможете вызывать Javascript-функцию «Тест».

Вопрос

Можно ли вызвать функцию Javascript из .exe, содержащего элемент управления WebBrowser, когда заголовок HTML содержитследующее, и если да, то как?

<meta http-equiv="X-UA-Compatible" content="IE=edge"/>
...