0

YouTube にアクセスして JavaScript でビデオを開始するプログラムを C++ と wxWidgets で作成しようとしています。

YouTube JavaScript API を使用します。ドキュメントについては、こちらを参照してください。

'O, Canada' を再生するために次のコードを書きました。具体的には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): "assert "document" が wxWebViewIE::GetDocument() で失敗しました。

コードがページを正常にロードすることはわかっていますが、JavaScript (RunScript()関数) を実行するとエラーが発生するようです。

Windows で wxWidgets 2.9.3 を使用しています。

4

2 に答える 2

1

これは、使用している2.9.3ビルドよりも新しいリビジョン71030で修正されているはずです。更新されたコードは、SVNまたは毎日のスナップショットから取得できます。それでも修正されない場合は、wxWidgetsTracにバグを報告してください

于 2012-05-19T21:03:50.013 に答える
0

問題は実際には、ページがロードされる前に JavaScript を呼び出すのが早すぎるためです。少し後で呼び出すと、機能します。

于 2012-07-16T19:41:40.020 に答える