2012-11-30 18 views
7

Bir iOS 6 iPad uygulaması, içeriği iki UIWebView biçiminde gösterir. Her iki web görünümünde bir jquery görüntü döndürücü varsa, yalnızca bir seferde çalışır. < iOS 6'yı çalıştırmak, her ikisi de düzgün çalışıyor.iOS 6 çoklu UIWebViews: Javascript yalnızca bir tane çalışır

Animasyon oluşturmayan web görünümünün içeriği yeniden yüklenirse, çalışmaya başlar ve diğeri durur. Ayrıca, SADECE simülatörde, bazen durdurulmuş web görünümünün/tıklatılarak/tıklatılarak başlatılmasına neden olabilir (ve diğerinin durması).

Web görünümlerinden birinde javascript bulunmuyorsa, durdurulmuş web görünümünün yeniden yüklenmesi, diğerinin çalışmasını durdurmaz.

İlk düşüncem bu bir odak meselesiydi, ama sonuncusu bunu çürütüyor ve iki web görünüşü arasında bir çeşit kirliliğe işaret ediyor. İki döndürücü aynı seçiciye ve aynı js komut dosyasına sahiptir, ancak js dosyaları yerel olarak önbelleğe alınır ve önbellekleme işlemi sırasında herhangi bir adım atmayı ortadan kaldırmak için benzersiz şekilde yeniden adlandırılır.

Farklı UIWebView'leri arasında odak değişikliğini tanımlamak için iOS 6 sürüm notlarında hiçbir şey bulamıyorum.

Web görünümleri bir XIB'dir, ancak aynı ebeveyn UIView'in kardeşleri değildir.

İstenilen davranış, web görünümlerinden hiçbirinin uykuya dalmadığı açıktır.

+0

Bu konuda şanslı olacağınızdan emin değilsiniz. IOS 6'da Javascript motorunda kapsamlı değişiklikler yapıldığı duyulmaktadır. Bir başarı olarak görülmüştür, çünkü işlevsel olarak kimse fark etmemiştir. Burada, işin yapılmış olmasına rağmen, bir referans var: http://en.wikipedia.org/wiki/IOS_6 Sayfada arama yaparken Javascript için. – TheBasicMind

cevap

1

JavaScript, birden çok UIWebView içinde çalışır, ancak JavaScript'e bağlıdır. Bir href ile bağlantı kurarken JQuery'yi veya diğer harici JavaScript kodunu kullanmak sorun olabilir. Bu sorunları, tüm harici JavaScript kitaplıklarının kodunu web sayfanızın HTML'sine kopyalayarak çözebilirsiniz. Basit JavaScript'in iyi çalışmasının nedeni budur. Örnek:

Screenshot of JavaScript in multiple web views

Bu, her UITableViewCell bir UIWebView bir UITableView olup. WebViewDidFinishLoad içinde ben [webView stringByEvaluatingJavaScriptFromString:@"document.write('hey hallo'+new Date().getTime())"];

1

3 WebGörüntülemenizin boyutunu ve her javascript etkin sayfasını yükleyen 1 UIWebView içinde 3 iFrami kullanmanın bir WebView yapmasını denediniz mi?

+0

Evet, ancak bir iki sayfalık iki görüntünün iki yarısını içerdikleri için bu sayfaları konumlandırmada sorun yaşıyorum. –

+0

@pro_metedor hmm ... Oh Peki ya ... Peki, UIWebView'inizi iki kat daha büyük yapın ve iFrame'i iki kez büyük yapın (CSS kullanarak konumu ayarlayın) ve ardından UIWebView'ı UIScrollView'a yapıştırın ve 0,5'e yakınlaştırın (50%) böylece UIWebView normal boyutuna geri döndü, ancak içerik iki kat küçük olduğu için hepsi uyuyor. :) Boo-yah! –

+0

@pro_metedor CSS onları iyi konumlandırmalı! Gerçekten :) –