簡體   English   中英

一些AppStore瀏覽器應用程序如何實現“打開新標簽”菜單,加載進度等功能?

[英]How do some AppStore browser apps implement features such as “Open in new tab” menu, loading progress, etc?

商店中有Web瀏覽器應用程序,它們執行許多操作,好像它們使用對我的私有API調用一樣。 諸如:

  • 覆蓋鏈接的上下文菜單,以為“在新標簽頁中打開”添加菜單項( 如何在iphone Safari的彈出式操作表中添加選項?
  • 報告加載進度。
  • 捕獲新的“彈出”窗口(鏈接目標不是“ _self”),並在新選項卡中打開(需要對UIWebView進行子類化並覆蓋私有方法。)

有誰知道這些操作是以我不知道的巧妙方式完成的,還是只是設法將它們偷偷帶給過去的應用程序審閱者? 這會讓我感到驚訝,因為他們擁有整個自動使用API​​的掃描程序,除非它只掃描更重要的api調用...

除了學者之外,我沒有其他真正的理由要問。 只是在玩UIWebView,發現與某些人已經設法完成的功能相比,其功能非常有限。

有什么想法嗎? 希望有一些見識!

干杯

第一個可以使用Javascript實現-這只是我的猜測; 您使用JS交流回Obj-C代碼以顯示自定義UIActionSheet。

如果您看起來足夠深,那么第二種可能是可能的:

UIWebView有一個NSURLRequest對象。 NSURLRequest具有valueForHTTPHeaderField:它使您能夠獲取請求的總內容大小。 NSURLRequest還具有HTTPBodyStream ,它是一個NSInputStream ,應為您提供讀取的總字節數。

最后,對於捕獲“彈出式”窗口,我猜測是他們使用UIWebView的委托回調來完成此操作,並使用一些巧妙的string-fu來確定它是否為彈出式窗口(評估JavaScript等)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM