0

我正在尝试用 C++ 和 wxWidgets 编写一个访问 YouTube 并使用 JavaScript 启动视频的程序。

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

我编写了以下一段代码来播放“O,Canada”,特别是这里的代码。

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" 在 wxWebViewIE::GetDocument() 中失败。

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

我在 Windows 上使用 wxWidgets 2.9.3。

4

2 回答 2

1

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

于 2012-05-19T21:03:50.013 回答
0

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

于 2012-07-16T19:41:40.020 回答