У мене є сценарій з попередньою та наступною кнопкою(та інші елементи керування за межами iFrame), які переповнюють iFrame кожним натисканням кнопки. Це чудово працює, за винятком випадків, коли я зникаю на зображеннях всередині iFrame і змінюю вміст, поки він ще знаходиться в процесі. Проблема, яку я маю, знаходиться в IE 10 та 11. Здається, це добре в браузерах, які не входять до IE.
Я зняв код, щоб спростити перегляд того, що відбувається. В основному я вицвітаю зображення з-за меж iFrame, наприклад:
var iframe = $("#iframe").contents();
$("#imageFading",iframe).fadeTo(750,1.0);
Я змінюю вміст iFrame на зразок:
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();
Якщо зміст iFrame змінюється, поки зображення все ще вицвітає, я отримую помилку:
SCRIPT70: Permission denied
File: jquery.min.js, Line: 4, Column: 928
Ця помилка зберігає виведення в консоль, поки я не оновлю чи закриваю сторінку. Я використовую jQuery 1.11.2.
Коли я використовував нестиснуту версію, її рядок 6999, який є:
} else if ( tween.elem.style && ( tween.elem.style[ jQuery.cssProps[ tween.prop ] ] != null || jQuery.cssHooks[ tween.prop ] ) ) {
Я спробував поставити fadeTo у спробу / ловити та використовувати jQuery 's clearQueue ().
Відповіді:
0 для відповіді № 1Спробуй .stop(true, true)
перед коригуванням iframe
зміст.
0 для відповіді № 2
Я закінчила роботу, використовуючи jQuery "s Стоп функцію перед перезавантаженням iframe.
$("#imageFading",iframe).stop();