タグ

developmentとWebKitに関するforce8のブックマーク (2)

  • sonson@Picture&Software - [iPhone SDK] Avoid target="_blank" problem

    これは,@norio_nomura氏のハック. すばらしいハックです. 実は,UIWebViewのバックグラウンドでは,クリックされたりすることで,新しいウィンドウが生成される前に,UIWebViewWebViewDelegateというデリゲートオブジェクトに対して,webView:createWebViewWithRequest:というメソッドがコールされる.実は,UIWebViewが新しいウィンドウを開くtarget="_blank"のときにナビゲーションがうまくいかないのは,このメソッドが実装されていないためなのである. このメソッドを,新しいウィンドウを自分自身に指定するようなメソッドをCで実装し,Objective-Cの動的結合を利用して,無理矢理,UIWebViewWebViewDelegateにねじ込む. static id webViewcreateWebViewWith

  • yoshimasa niwa - ポップアップウィンドウをUIWebViewで使う

    UIWebViewはiPhone SDKのかなり重要なUIKitのクラスです。 ご存知の通りSafariが丸ごと入ってますが、しかし、ウィンドウを開く、ポップアップするというイベントは無効にされています。 <a href="somehere" target="_blank" />Open this link in new window</a> たとえば、このようなリンクがUIWebViewのなかで表示されてユーザがクリックしたとしても、何も起きません。 勿論、UIWebViewはかなり高度に抽象化されていて、いくつかのメソッドを呼ぶ事はできます。 そこで、完璧ではないのですがある程度この問題を解決する手段があります。 鍵となるメソッドは次のものです。 language:objc - (BOOL)webView:(UIWebView *)webView shouldStartLoadWith

  • 1