Eu tenho um script com um botão anterior e próximo(e outros controles fora do iFrame) que preenche um iFrame com cada clique de botão. Isso funciona muito bem, exceto quando estou desvanecendo imagens dentro de um iFrame e altero o conteúdo enquanto ele ainda está no processo. O problema que tenho é no IE 10 e 11. Parece bem em navegadores não-IE.
Eu limpei o código para simplificar o que está acontecendo. Basicamente, eu apago uma imagem de fora do iFrame como:
var iframe = $("#iframe").contents();
$("#imageFading",iframe).fadeTo(750,1.0);
Eu mudo o conteúdo do iFrame como:
var html = "Some HTML Content here";
var iframe = $("#iFrame").get(0);
iframe = (iframe.contentWindow) ? iframe.contentWindow : (iframe.contentDocument.document) ? iframe.contentDocument.document : iframe.contentDocument;
iframe.document.open();
iframe.document.write(html);
iframe.document.close();
Se o conteúdo do iFrame estiver sendo alterado enquanto a imagem ainda estiver desaparecendo, recebo o erro:
SCRIPT70: Permission denied
File: jquery.min.js, Line: 4, Column: 928
Esse erro mantém a saída no console até que eu atualize ou feche a página. Eu estou usando o jQuery 1.11.2.
Quando eu usei a versão não compactada sua linha 6999, que é:
} else if ( tween.elem.style && ( tween.elem.style[ jQuery.cssProps[ tween.prop ] ] != null || jQuery.cssHooks[ tween.prop ] ) ) {
Eu tentei colocar o fadeTo em um try / catch e usando o clearQueue () da jQuery.
Respostas:
0 para resposta № 1Experimentar .stop(true, true)
antes de ajustar iframe
conteúdo.
0 para resposta № 2
Acabei fazendo isso funcionar usando o jQuery "s Pare função antes de recarregar o iframe.
$("#imageFading",iframe).stop();