Я створюю веб-програму виключно дляiPad / mobile-Safari. Домашня сторінка - це загальнодоступна сторінка HTML / CSS з 3 основними розділами. Але, натиснувши будь-яку з 3 основних кнопок, ви перейдете на сторінку, побудовану з 2 iFrames (одна зверху для Nav, одна знизу для Content).
Проблема полягала в тому, що перед будь-яким із цих 3завантажених сторінок було швидке спалах білого кольору, а потім сторінка завантажена Я спробував приховати стиль видимості iframe, а потім onLoad змінити його на "видимий", і це спрацювало. Але це спрацювало лише один раз, коли створена iFrame сторінка вперше завантажилася. Як тільки він завантажується, і я натискаю на посилання на цій сторінці, білий спалах повертається, тому що iFrame вже завантажився, тому його вже видно.
Я спробував очевидне, як додавання стилю css до iframe з кольором тла (також спробував вбудований стиль), але сталося те саме. Будь-які ідеї щодо того, як це вирішити? Дякую!
Відповіді:
1 для відповіді № 1Ви можете зробити цей обман:
<iframe src="..." style="visibility:hidden;" onload="this.style.visibility="visible";"></iframe>
У вмісті ви можете охопити всі посилання та форми:
document.getElementsByTagName("a").addEventListener("click", function(e){
window.top.document.getElementsByTagName("iframe")[0].style.visibility = "hidden";
});
Поясніть:
- Вперше ваш iframe прихований, і ви можете бачити фон головної сторінки (не білий iframe)
- Після завантаження Javascript зробить iframe видимим, і ви зможете побачити вміст та фон iframe.
- При натисканні на посилання всередині iframe запускається тригер, і Javascript знову приховує iframe.
Я зіткнувся з цією проблемою, і це цілий день намагався виправити, але я не можу, крім вищезазначеного. Ви можете вирішити цю проблему в Chrome, Firefox та інших браузерах, а не лише в Safari Mobile.
0 для відповіді № 2
Я думаю те саме з KimKha. Але "видимість" іноді не працює добре, тому я думаю, що краще використовувати "прозорість".
<iframe src="..." style="opacity:0;" onload="this.style.opacity=1;"></iframe>