SORU
14 HAZİRAN 2009, Pazar


Okuma UİWebView HTML içerik

UIWebView içine yüklenen bir web sayfasının ham HTML içeriğini okumak mümkün mü?

Değilse, başka bir yolu yoktur iPhone SDK web sayfasından ham HTML içeriği çekmek için .bir eşdeğer gibi NET WebClient::openRead)?

Şimdiden teşekkürler!

CEVAP
14 HAZİRAN 2009, Pazar


İkinci soru aslında cevap vermek daha kolaydır. Bak stringWithContentsOfURL:encoding:error: yöntemin NSString - sağlar geçişte bir URL örneği NSURL (hangi olabilir örneği gelen NSString) ve döndürür bir dize ile tamamlamak içindekiler sayfasında bu URL. Örneğin:

NSString *googleString = @"http://www.google.com";
NSURL *googleURL = [NSURL URLWithString:googleString];
NSError *error;
NSString *googlePage = [NSString stringWithContentsOfURL:googleURL 
                                                encoding:NSASCIIStringEncoding
                                                   error:&error];

Bu kod, googlePage www.google.com ve error HTML içerir çalıştırdıktan sonra herhangi bir hata karşılaştı içerir getir. (Getir sonra error içeriğini kontrol etmelisiniz.)

Diğer taraftan (bir UİWebView) biraz daha karmaşıktır, ama temelde aynı kavram. Görünümünden request çekmek gerekecek, daha önce olduğu gibi getir yapın:

NSURL *requestURL = [[yourWebView request] URL];
NSError *error;
NSString *page = [NSString stringWithContentsOfURL:requestURL 
                                          encoding:NSASCIIStringEncoding
                                             error:&error];

DÜZENLEME:Her iki yöntem bir performans isteği ikinci kez bu yana, ancak isabet alır. Gibi şu anda yüklü bir UİWebView stringByEvaluatingJavascriptFromString: yöntemi kullanarak: içerik tüketirsek bu etrafında alabilirsiniz

NSString *html = [yourWebView stringByEvaluatingJavaScriptFromString: 
                                         @"document.body.innerHTML"];

Bu HTML NSString* görünümü içeriğini Belge Nesne Modeli kullanarak, Javascript ayrıştırma, sen ver o zaman geçerli HTML çekecek.

Başka bir yol talebinizi programlı olarak ilk yapmak istediğiniz ne UİWebView yükleyin. Bakalım 15 ** arama sonucu NSString *page sahip ikinci örnek, yukarıda alıyorsun ki. O zaman web görünümü loadHTMLString:baseURL:, siz de istediğiniz NSURL için düzenlenen varsayarak kullanarak dize itin

[yourWebView loadHTMLString:page baseURL:requestURL];

Emin değilim, ancak, eğer bu çalıştırılacak Javascript buldum sayfayı yük (yöntem adı, loadHTMLString, biraz belirsiz ve dokümanlar deme öyle).

Daha fazla bilgi için:

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • finalcall07

    finalcall07

    11 NİSAN 2008
  • MattSteffanina 2

    MattSteffani

    28 Kasım 2007
  • UniqueApps

    UniqueApps

    4 Ocak 2009