1

他の誰かがこれを経験したことがあるかどうか、またはエラーが発生する理由を知っているかどうか疑問に思っています。iframe 内から javascript を使用して親 dom 要素を呼び出し、jQuery UI のエフェクト コアを使用してシェイクしています。次に例を示します。

$(document).ready(function(){
    if ($("form").length>0)
    {
        $("form").submit(function(){
            var oParentDoc = $(parent.document).find("div#element");
            var action = $(this).attr("action");
            var postdata = $(this).serialize();
            $(oParentDoc).addClass("loading");
            $.post(action,postdata,function(data){
                $(oParentDoc).removeClass("loading").effect("shake",{"times":3,"distance":10},60);
            });
            return false;
        });
    }
});

エフェクトがなくても機能しますが、エフェクトを使用すると次のエラーが発生します。

キャッチされない例外: [例外... "コンポーネントがエラー コードを返しました: 0x80040111 (NS_ERROR_NOT_AVAILABLE) [nsIDOMCSSStyleDeclaration.getPropertyValue]" nsresult: "0x80040111 (NS_ERROR_NOT_AVAILABLE)"

洞察を事前にありがとう:)

4

3 に答える 3

1

これが機能するかどうかはわかりませんが、親で bind イベントを設定してから、iFrame で親でそのイベントをトリガーしてみてください。

親 JavaScript

$(document).ready(function(){
    $('#iframe').bind('shakeFrame',function(){
        $('#iframe').effect("shake",{"times":3,"distance":10},60);
    });
});

iFrame JavaScript

$(document).ready(function(){
    $(parent.document).find('#iframe').trigger('shakeFrame');
});
于 2010-05-26T09:28:26.410 に答える
0

Iframeの仕様が定義されている可能性があります。したがって、Iframeでの移動/変更を許可しませんか?

于 2010-02-02T06:05:13.907 に答える
0

必要な jQuery ファイルを親ドキュメントと iframe ドキュメントにロードしましたか?

更新: インターネットで少し調べたところ、「効果」コードがおそらく「getPropertyValue」を呼び出しており、Firefox はそのメソッドが存在しないと主張していることが示されています。私は知っています-あまり役に立ちません。残念ながら、「エフェクト」コードをデバッグして、これが誰のバグであるかをより具体的に調べるか、実行しようとしている iframe シナリオの制限を見つける必要があると思います。

于 2010-02-02T05:56:43.883 に答える