2013-03-23 80 views
1

我在我的應用程序中使用了Webkit WebView,但實際上它不工作。我的意思是頁面加載,但當我點擊頁面上的鏈接沒有任何反應。Webkit WebView不工作

這是我的網頁:http://www.beginninghtml.altervista.org

這是我的代碼:在

AppDelegate.h

@property (assign) IBOutlet WebView *webView;

AppDelegate.m

-(void)applicationDidFinishLaunching:(NSNotification *)aNotification 
{ 
    NSURL *url = [[NSURL alloc] initWithString:@"http://www.beginninghtml.altervista.org"]; 
    NSURLRequest *req = [[NSURLRequest alloc] initWithURL:url]; 
    [[_webView mainFrame] loadRequest:req]; 
} 

它正確加載頁面,但是當我點擊頁面上的鏈接時,什麼也沒有發生。 任何人都可以幫助我?

+0

我實際上在這裏找到了解決我的問題的方法: http://stackoverflow.com/questions/4530590/opening-webview-links-in-safari – rambodrahmani 2013-03-25 11:05:22

回答

1

最後,我用下面的代碼在可可web視圖打開需要打開一個新窗口的鏈接:

設置policyDelegate你的WebView,然後執行這些代碼是:

-(void)webView:(WebView *)webView decidePolicyForNewWindowAction:(NSDictionary *)actionInformation request:(NSURLRequest *)request newFrameName:(NSString *)frameName decisionListener:(id<WebPolicyDecisionListener>)listener 
{ 
    [listener ignore]; 
    NSURLRequest *req = [[NSURLRequest alloc] initWithURL:[request URL]]; 
    [[_webView mainFrame] loadRequest:req]; 
} 
2

我注意到您的一些鏈接請求打開新窗口,而不是照常打開當前窗口中的頁面。這取決於你到Handle New Window Requests。如果單擊此鏈接而未將請求作爲Web視圖的UI委託進行處理,則我鏈接的部分會特別提到「沒有任何反應」。

+0

非常感謝!我會盡量讓你知道,無論如何,你知道這很奇怪嗎?我在使用UIWebView的iOs編程中做同樣的事情,一切都很好。 – rambodrahmani 2013-03-23 17:30:15

+0

UIWebView與WebView不同。除了一個通用的渲染引擎和基本的API方法之外,您只需在給定平臺上深入閱讀給定任務的文檔即可。 – 2013-03-23 17:41:18

+0

嗯,我試着去做你在給我的鏈接中說的,但實際上沒有任何反應。可能我犯了一些錯誤,這些是我遵循的步驟,請告訴我這些方法是否正確? 1.我添加了一個名爲'myWebView'的新WebView類。 2.我將它設置爲我的WebView的UIDelegate。 3.在我的新類「myWebView」的實現中,我在鏈接的第3步和第4步添加了代碼。 – rambodrahmani 2013-03-23 18:03:21