我正在尝试使用C ++和wxWidgets编写程序来访问YouTube并使用JavaScript启动视频。
它使用YouTube JavaScript API,其文档为here。
我编写了以下代码来播放'O,Canada',特别是one here。
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()
函数)似乎会导致错误。
我在Windows上使用wxWidgets 2.9.3。
答案 0 :(得分:1)
这应该在revision 71030中修复,这比你正在使用的2.9.3版本更新。您可以通过SVN或每天snapshot获取更新的代码。如果仍然无法解决问题,请在wxWidgets Trac上提交错误。
答案 1 :(得分:0)
问题实际上是因为我在加载页面之前过早地调用了JavaScript。如果我稍后调用它,它会起作用。