更新日: この質問の前提は誤っていることが判明しました。この問題は、ユーザーのクリックに反応しない限り発生しません。 hereをご覧ください。IE9 + jwplayer:player.load()を呼び出す前にdomでプレーヤーを移動すると__flash__addCallbackエラーが発生する
私は数日間バグに頭を打ち、誰かが助けることを望んでいます。
私は、jwplayer javascript apiを使ってjwplayerオブジェクト( "myplayer")を呼び出すjqueryスクリプトを持っています。例えば、特定のビデオでmyplayerロードするために、私は呼ん:
myplayer.load('my_url');
これはあまりにも長い間、私は最初のDOM内の別の場所にプレイヤーを移動しないよう、FirefoxとInternet Explorerの両方で正常に動作します。
ただし、私のスクリプトでは、プレイヤーを場所Aから場所Bに移動してから場所Aに戻し、myplayer.load()
を呼び出すことがあります。これはFirefoxで正常に動作します。しかし、インターネットエクスプローラ9で、私はこの行にエラーが発生します。この関数内で
return eval(instance.CallFunction("<invoke name=\""+name+"\" returntype=\"javascript\">" + __flash__argumentsToXML(arguments,0) + "</invoke>"));
:
function __flash__addCallback(instance, name) {
instance[name] = function() {
return eval(instance.CallFunction("<invoke name=\""+name+"\" returntype=\"javascript\">" + __flash__argumentsToXML(arguments,0) + "</invoke>"));
}
}
私はInternet Explorerのデバッガで何が起こっているかをトレースする場合、私はそれを参照してくださいmyplayer.load('my_url')
this.callInternal("jwLoad",u)
をjwplayer.js
に呼び出し、明らかにエラーが発生したことをthis.callInternal("jwLoad",u)
が実行中です。
詳細:
HTMLは次のようなものになります。
<div id='stage'>
<div id='myplayer_wrapper'>
<object id='myplayer'>...</object>
</div>
</div>
<div id='holding-pen'></div>
プレーヤーが使用されていない場合は、私が保持ペンにそのラッパーのdivを移動:
var el = $('#myplayer_wrapper');
$('#holding-pen').append(el);
を
プレーヤーのwrapper-divを保持ペンに移動した後、htmlは次のようになります。
<div id='stage'></div>
<div id='holding-pen'>
<div id='myplayer_wrapper'>
<object id='myplayer'>...</object>
</div>
</div>
私はプレーヤーを使用したい場合は、私はバックステージのdivにそのラッパーのdivを移動:
var el = $('#myplayer_wrapper');
$('#stage).append(el);
ステージのdivにプレイヤーのラッパーのdivを移動した後、HTMLのルックス
<div id='stage'>
<div id='myplayer_wrapper'>
<object id='myplayer'>...</object>
</div>
</div>
<div id='holding-pen'></div>
ページの読み込み時に、プレーヤーオブジェクトを作成して持ちペンに移動します。私はそれをステージに移動し、ビデオをロードします。
ユーザーが画像サムネイルなどをクリックすると、ビデオプレーヤーを保持ペンに移動し、選択した画像をステージに移動します。
ユーザーがビデオサムネイルをクリックすると、保持ペンからビデオプレーヤーを取得してステージに戻します。次に、選択したビデオをプレーヤーにロードします。これがInternet Explorerで "_ flash _addCallback"という問題が発生した場所です。
誰でも何が起こっているのかについての洞察はありますか?または、これをInternet Explorerでどのように動作させることができるかについての提案はありますか?
ありがとうございました!
が関連するかもしれない:https://github.com/johndyer/mediaelement/issues/530 – greg0ire
缶P
そして最後にではなく、少なくともを、あなたは下の最後の単一引用符を閉じることを確認してください問題を示すフィドルを作成しますか?また、質問の先頭にある更新済みのリンクは利用できません。 – Trevor
http://stackoverflow.com/questions/12823994/ie9-move-and-load-flash-player-in-response-to-user-click-load-fails .....このリンクは機能しませんでした。これで変更されました.... http://www.longtailvideo.com/support/forums/jw-player/bug-reports/28999/ie9-move-and-load-player-in-response-to-user -click-load-fails/ – Hitesh