只是想知道是否有其他人经历过此或知道我为什么会收到错误。我在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)“
提前感谢任何见解:)
答案 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进行任何移动/更改?