3

新しい oembed API (ユニバーサル プレーヤー) が埋め込まれた Vimeo ビデオを停止する必要がありますが、イベントを追加しようとすると、次のエラーが発生します。

Uncaught TypeError: Object #<an HTMLIFrameElement> has no method 'addEvent'

しかし、なぜこのエラーが発生するのかわかりません.jqueryとfrogaloop APIを追加し、iframeにIDを追加しましたが、それでも機能しません::(

完全なコードは次のとおりです。

http://tv.bisaccia.info

4

4 に答える 4

2

エリ、投稿を編集してください。ジョーが言ったように、あなたは部分的に誤った情報を与えられています。postMessageクロスドメイン通信に必要ですが、 Froogaloop.init();」の呼び出しによって追加されたDOMメソッドを介して実装されます。

is_embed_iframe = _this.iframe_pattern.test(cur_frame.getAttribute('src')); 

if (is_embed_iframe) {
        cur_frame.api = _that.api;
        cur_frame.get = _that.get;
        cur_frame.addEvent = _that.addEvent;
    }

注:Vimeoサイトからfroogaloop.js(またはminバリアント)を取得する必要があります。

init()を呼び出す前に、iFrameの「src」が設定されていることを確認してください。設定されていない場合、froogaloopは何もしません。

于 2011-04-05T02:48:12.927 に答える
0

マイクの提案によると、次のように呼び出します。

Froogaloop.init();

制御APIを機能させますか。私の場合:

<iframe id="player_1" src="http://player.vimeo.com/video/26859570?js_api=1&amp;js_swf_id=player_1&amp;title=0&amp;byline=0&amp;portrait=0" width="620" height="354" frameborder="0"></iframe>
<script>
    $(document).ready(function() {
        Froogaloop.init();
        $("#player_1").moogaloop({
            load: function(element) {
                $("#segment1").click(function() { element.moogaloop('seekTo', "7"); });
            }
        });
    });
</script>

奇妙な...Moogaloopの作者デモページ、init()呼び出しなしで機能します。とにかく、私のために働いた。

御時間ありがとうございます!

于 2011-07-27T12:46:06.570 に答える
-2

できません。

  • DOMaddEventメソッドはありません。
  • Vimeo へのクロスドメイン アクセスがないため、iframe のドキュメントまたは抽象ビューとの JavaScript インターフェースを持つことは許可されていません。

JavaScript を介して Vimeo とやり取りしたい場合postMessageは、ドメインも受け入れる API を実装する必要があります。

于 2010-09-10T23:42:37.523 に答える