Проблема с WebView - PullRequest
       1

Проблема с WebView

2 голосов
/ 09 августа 2011

В моей программе есть два класса, первый из них - обычный делегат приложения NSObject.Второй - это подкласс NSWindowController с NSWindow и WebView, который показывает html-страницу из пакета приложения.

Вот как я вызываю окно из AppDelegate:

-(IBAction)showWebViewForm:(id)sender
{
    webViewForm = [[WebViewForm alloc] initWithWindowNibName:@"WebViewForm"];
    [webViewForm showWindow:self];
}

Воткак я отрисовываю веб-страницу в WebViewForm : NSWindowController:

-(void)awakeFromNib{
    [NSApp activateIgnoringOtherApps:YES];
    [webview setUIDelegate: self];
    [webview setResourceLoadDelegate: self];
    [webview setPolicyDelegate:self];
    [webview setFrameLoadDelegate:self];

    [[webview mainFrame] loadRequest:
     [NSURLRequest requestWithURL:
      [NSURL fileURLWithPath:
       [[NSBundle mainBundle] pathForResource:@"index" ofType:@"html" inDirectory:@"data"]]]];

}

Работает нормально, но только в первый раз.Когда я закрываю окно WebViewForm и снова открываю его, веб-страница исчезает из WebView.Почему так и как это исправить?

UPD Даже если встроить код awakeFromNib в специальный новый метод, такой как -(void)refreshWebview, а затем вызвать [webViewForm refreshWebview] сразу после [webViewForm showWindow:self];, все же - страница загружается только в первый раз, и это действительно странно (есть идеи?

1 Ответ

3 голосов
/ 09 августа 2011

Я сам в этом разбираюсь.Проблема заключалась в том, что веб-просмотр закрывался, когда закрывалось родительское окно.Итак, для такого случая есть специальный метод:

[webview setShouldCloseWithWindow:NO];

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...