wxWebView и JavaScript

Я пытаюсь написать программу на C++ и wxWidgets, которая обращается к YouTube и запускает видео с помощью JavaScript.

Он использует JavaScript API YouTube, документацию по которому можно найти здесь.

Я написал следующий фрагмент кода для воспроизведения «О, Канада», особенно здесь .

wxWebView *webview = wxWebView::New(this, wxID_ANY, "http://www.youtube.com/watch?v=zwDvF0NtgdU");
webview->RunScript("function onYouTubePlayerReady(playerId) {document.getElementById('watch-player').playVideo();}");

Запуск приведенного выше кода не выполняет свое предназначение, что приводит к следующей ошибке и сбою:

....\src\msw\wxwebview_ie.cpp(762): "Ошибка утверждения "документа" в wxWebViewIE::GetDocument().

Я знаю, что мой код успешно ЗАГРУЖАЕТ страницу, но запуск JavaScript (функция RunScript()), похоже, приводит к ошибке.

Я использую wxWidgets 2.9.3 в Windows.


person quantum    schedule 19.05.2012    source источник


Ответы (2)


Это должно было быть исправлено в редакции 71030, которая является более новой, чем сборка 2.9.3, которая ты используешь. Вы можете получить обновленный код через SVN или ежедневно моментальный снимок. Если это все еще не помогает, отправьте сообщение об ошибке в wxWidgets Trac.

person SteveL    schedule 19.05.2012
comment
Обновление устранило сбой, но js вообще не запускается. Я заменил js простым alert(), и окно не появилось. - person quantum; 22.05.2012

Проблема на самом деле в том, что я вызываю JavaScript слишком рано, до загрузки страницы. Если я позвоню чуть позже, это сработает.

person quantum    schedule 16.07.2012