2013-03-23 3 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

ответ

1

Наконец я использовал следующий код, чтобы открыть в какао WebView ссылку, которая требует, чтобы открыть новое окно:

Установите 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. В разделе, к которому я привязан, специально упоминается «ничего не происходит», если эта ссылка нажата без обработки запроса в качестве делегата пользовательского интерфейса веб-представления.

+0

Большое вам спасибо! Я попробую и дам вам знать, так или иначе, это довольно странно, что вы знаете? Я делаю то же самое в программировании iOs с UIWebView, и все в порядке. – rambodrahmani

+0

UIWebView - это не то же самое, что и WebView. Помимо общего механизма рендеринга и базового подхода API, вам просто нужно вникнуть и прочитать документы для данной задачи на данной платформе. –

+0

Ну, я попытался сделать то, что указано в ссылке, которую вы мне дали, но на самом деле до сих пор ничего не происходит. Возможно, я сделал что-то неправильно, это шаги, которые я последовал, не могли бы вы сказать мне, правильно ли это? 1. Я добавил новый класс WebView под названием myWebView. 2. Я установил его как UIDelegate своего WebView. 3. При реализации моего нового класса 'myWebView' я добавил коды в шагах 3 и 4 вашей ссылки. – rambodrahmani

Смежные вопросы