2013-05-20 22 views
5

Bazı içeriği yükleyen bir javascript yüklediğim bir WebView var. Bu içerik iframe ile bir html.WebView algılaması iframe'i tıklar

iframe içindeki herhangi bir tıklama, aramaları WebViewClient#shouldOverrideUrlLoading(WebView view, String url); tetiklemiyor gibi görünüyor Webview hem WebViewClient hem de WebChromeClient ayarladı.

Bir iş çevresinde ben görebiliyorum WebView'da üzerinde getSettings().setSupportMultipleWindows(true) çağırmak için ise daha sonra onCreateWindow(WebView view, boolean isDialog, boolean isUserGesture, Message resultMsg) çağrı iframe içinde yapılan ve iframe verileri almak için bazı sokulan javascript kullanmak varsayalım içinde. Ama bu bana çirkin görünüyor.

Yani, soru: web görünümünde yüklenen iframe içindeki bir tıklamayı nasıl algılayacaksınız?

Teşekkürler!

cevap

4

Sanırım sorunun ne olduğunu buldum: Same Origin Policy'u kırdım. Web geliştirme yapan bir meslektaşım bana doğru yönde işaret etti.

tüm belge (iFrame'in ihtiva eden) iç çerçeve ihtiva eden farklı bir kökeni (Şema, ana bilgisayar adını ve bağlantı noktası sayısının kombinasyonu) sahiptir. Bu çerçeveler (belge ve iç iframe içeren) farklı kökenleri olduğu sürece, iletişim kuramazlar. Bu yüzden shouldOverrideUrlLoading numaralı telefona çağrı alamıyorum.

DÜZENLEME: "Erişim Kontrolü-ver Menşei: iframe içerir cevaben şu başlığı ekleyin: Orada güvenlik politikası üzerinde aşa bir yoldur, ama bu kabul edilmiş güvenlik riski ile geliyor gibi görünüyor: * "

+0

@gunnar i birçok bulmak ama benim senaryoda sığamaz bazı cevabını ciddi ihtiyacım var, bu mümkün artık video oynamaktır. –

+0

@NitinMisra: Karşılaştığınız sorun nedir? Neden StackOverflow hakkında yeni bir soru oluşturmuyorsunuz, onun URL'si ile yeni bir yorum gönderdi. Bu sayede sorunuzu anlayabiliyorum ve bir başkasının cevabı bilmesi için daha büyük bir şansınız var. – gunar