2012-12-31 57 views
3

我正在偵聽從我的UIWebView的URL加載。有沒有一種方法來檢查,如果要求有「_blank」 ?:的目標檢查NSURLRequest目標是否爲「_blank」?

- (BOOL) webView:(UIWebView *)webView 
     shouldStartLoadWithRequest:(NSURLRequest *)request 
     navigationType:(UIWebViewNavigationType)navigationType 
{ 
    if ([request targetIs:@"_blank"]) { 
     // do something. 
    } 
} 

回答

0

也許你可以使用[UIWebView的-request]得到的NSURLRequest,並使用[URL的NSURLRequest]檢查如果URL包含任何你想要的。

+0

是的,但對我來說更好的方法是捕捉所有目標=「_ blank」的URL,而不必定義自己的協議來執行相同的操作。 – user1219278

+0

我很抱歉,但是「定義我自己的協議」是什麼意思? – CarmeloS

+0

例如,在我的所有網址前添加「__pattern」或其他一些標記,這樣我就知道要在這些網址上執行操作(而不是僅僅依靠target =「_ blank」)。 – user1219278

1

不知道iOS,但是對於OS X,如果使用策略委託,它可以很好地工作。我已經把我的答案放在this thread中,上面Russ提到。