jQuery对iframe父文档的影响

时间:2010-02-02 01:55:37

标签: javascript jquery iframe parent effect

只是想知道是否有其他人经历过此或知道我为什么会收到错误。我在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)“

提前感谢任何见解:)

3 个答案:

答案 0 :(得分:1)

我不确定这是否有效,但您可以尝试在父级中设置绑定事件,然后在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');
});

答案 1 :(得分:0)

您是否已将必要的jQuery文件加载到父文档以及iframe文档中?

更新:对互联网的一点研究表明,'效果'代码可能正在调用'getPropertyValue',Firefox声称该方法不存在。我知道 - 不是很有帮助。不幸的是,我相信你将不得不调试'效果'代码来更具体地找出它的错误,或者可能发现它是你试图运行的iframe场景的限制。

答案 2 :(得分:0)

可能是您的Iframe规范已定义。因此不允许使用Iframe进行任何移动/更改?