wxWebView和JavaScript 我试图用C++和WxWIDGET编写一个程序,访问YouTube,用JavaScript启动视频。

wxWebView和JavaScript 我试图用C++和WxWIDGET编写一个程序,访问YouTube,用JavaScript启动视频。,javascript,c++,youtube,wxwidgets,youtube-javascript-api,Javascript,C++,Youtube,Wxwidgets,Youtube Javascript Api,它使用YouTube JavaScript API,可以找到相关文档 我编写了下面的代码来播放“O,Canada”,特别是 运行上述代码未能达到预期目的,导致以下错误和崩溃: ....\src\msw\wxwebview_ie.cpp(762):“断言”文档在wxwebview::GetDocument()中失败 我知道我的代码成功加载了页面,但是运行JavaScript(函数RunScript()似乎会导致错误 我在Windows上使用wxWidgets 2.9.3。这应该在比您使用的2.9.

它使用YouTube JavaScript API,可以找到相关文档

我编写了下面的代码来播放“O,Canada”,特别是

运行上述代码未能达到预期目的,导致以下错误和崩溃:

....\src\msw\wxwebview_ie.cpp(762):“断言”文档在wxwebview::GetDocument()中失败

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


我在Windows上使用wxWidgets 2.9.3。

这应该在比您使用的2.9.3版本更新的版本中得到修复。您可以通过或每天获得更新的代码。如果仍然无法修复,请在wxWidgets上提交一个bug。

问题实际上是因为我调用JavaScript太早,在p之前age已加载。如果我稍后调用它,它会工作。

升级确实修复了崩溃,但js根本没有运行。我用一个简单的警报()替换了js,并且没有弹出窗口。
wxWebView *webview = wxWebView::New(this, wxID_ANY, "http://www.youtube.com/watch?v=zwDvF0NtgdU");
webview->RunScript("function onYouTubePlayerReady(playerId) {document.getElementById('watch-player').playVideo();}");