wxWebView and JavaScript

wxWebView and JavaScript

本文关键字:JavaScript and wxWebView      更新时间:2023-10-16

我正在尝试用C++和wxWidgets编写一个程序,该程序可以访问YouTube并使用JavaScript开始视频。

它使用 YouTube JavaScript API,其文档可在此处找到。

我写了以下一段代码来玩"O,加拿大",特别是这里的代码。

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(: "assert "document" failed in wxWebViewIE::GetDocument((.

我知道我的代码成功加载了页面,但运行 JavaScript(RunScript() 函数(似乎会导致错误。

我在Windows上使用wxWidgets 2.9.3。

这应该已在修订版 71030 中修复,该修订版比您使用的 2.9.3 版本更新。您可以通过SVN或每日快照获取更新的代码。如果这仍然不能解决它,请在wxWidgets Trac上提交一个错误。

问题实际上是因为我在加载页面之前过早调用 JavaScript。如果我稍后调用它,它会起作用。