Aşağıdaki komut, bir web sayfasındaki bağlantı bağlantılarına tıklandığında düzgün bir scrool efekti ekler. iOS ve Android için mobil tarayıcılar gibi en modern tarayıcılardaPürüzsüz kaydırma efekti iOS'ta bir iframe'de çalışmaz
$('a').click(function(){
$('html, body').animate({
scrollTop: $($.attr(this, 'href')).offset().top
}, 500);
return false;
});
Çalışır. Ancak, komut dosyası bir iframe içinde çalıştırılıyorsa, iOS'taki tarayıcılar düzgün scrool etkisini uygulamamaktadır. Aslında, çapa bağlantıları işe yaramaz hale getirilir (kullanıcı bir tanesini tıklarsa, hiçbir şey olmaz). Bir iframe içinde bile, betik Android'de ve hemen hemen tüm masaüstü tarayıcılarda çalışır.
iOS, iframe'lerle ilgili her türlü soruna sahiptir. Örneğin, bir iframe, 300px'lik bir bildirilmiş yüksekliğe sahip olsa bile, iOS, içeride kaydırma yapmadan içeriğe sığacak şekilde iframe'in yüksekliğini genişletir. Bunun için düzeltme: iframe'i 300px yükseklikteki bir div içine sarın ve overflow: auto;
ve -webkit-overflow-scrolling: touch;
'u ekleyin.
Sorunuma dön. Böyle bir basit betik iframe'de neden iOS'ta başarısız oluyor? Bu, iOS'un iframe'leri nasıl ele alacağıyla ilgili olabilir mi?
Öğeleri açıklığa kavuşturmak için, iOS'ta iframe içinde çalışmak için düzgün kaydırma efektine ihtiyacım var. Iframe ve parent document, her ikisi de aynı etki alanından sunulur.
Herkes, herhangi bir fikir? Çalışan bir örnek için
burada bakın: Ana html dosyasınınhttp://www.nightskyinfo.com/iframe2/
Kaynak kodu:http://www.nightskyinfo.com/iframe2/iframe.txt
: Burada iframe'de koymak html dosyasının http://www.nightskyinfo.com/iframe2/index.txtsoslu kodu
Siparişinize bir bakın. Yerel kaydın etkinleştirilmesi için z-dizini 0 olmalıdır. –
Teşekkür ederim, ama bu değil. Şimdi test edildi. – Malasorte
üzgünüm, denemeye değer)) ...son 2c)) scrollIntoView() –