wxWebView和JavaScript

时间:2012-05-19 20:42:02

标签: javascript c++ youtube wxwidgets youtube-javascript-api

我正在尝试使用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。

2 个答案:

答案 0 :(得分:1)

这应该在revision 71030中修复,这比你正在使用的2.9.3版本更新。您可以通过SVN或每天snapshot获取更新的代码。如果仍然无法解决问题,请在wxWidgets Trac上提交错误。

答案 1 :(得分:0)

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