2011-04-25 66 views
0

我試圖從應用程序外部將URL加載到webview中。我已經正確設置了我的info.plist以支持http,https。我的應用出現在處理程序列表中(Safari瀏覽器首選項)。 這裏是我的代碼從應用程序外部將URL加載到webview中不起作用

我有這個在我的awakefromnib

 NSAppleEventManager *em = [NSAppleEventManager sharedAppleEventManager]; 
    [em 
    setEventHandler:self 
    andSelector:@selector(getUrl:withReplyEvent:) 
    forEventClass:kInternetEventClass 
    andEventID:kAEGetURL]; 

然後

//get the URL from outside the application 
- (void)getUrl:(NSAppleEventDescriptor *)event 
withReplyEvent:(NSAppleEventDescriptor *)replyEvent 
{ 

    // Get the URL 
    NSString *urlStr = [[event paramDescriptorForKeyword:keyDirectObject] 
         stringValue]; 

    [self initWithUrl:urlStr]; 
} 

//Can be used as intializer to init the webview with a page 
-(void)initWithUrl:(NSString *)url 
{ 
    //load the lading home page 
    [[webview mainFrame] loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:url]]]; 



} 

如果我的NSLog網址它表現出來(所以它正確地得到它)。我的下一個方法也被稱爲。此方法在我的應用程序內正常工作。

問題是,當我點擊我的應用以外的鏈接時(一旦應用被選爲默認瀏覽器)。我彈出窗口,但它不加載URL。它什麼都不做。 有什麼想法?

+0

問題是什麼?任何錯誤,發生了什麼行爲,你期望什麼? – Damien 2011-04-26 09:17:46

+0

哇,對不起,是的,我忘記了這個問題。因此,點擊瀏覽器以外的URL可以打開它,但webiew只是不加載URL。 – Dimillian 2011-04-27 06:20:51

回答

0

什麼是webview的「mainFrame」方法?這是一個自定義類嗎?您是否將網頁視圖的框架添加到窗口的框架中?

+0

我剛剛拿到了Apple文檔中的例子,它包括在webview對象的主框架中加載所需的URL: – Dimillian 2011-04-27 06:51:56

+0

Hardcode一些基本的html,例如將正文背景設置爲紅色並查看是否顯示。然後你會知道它是否加載了webView而不是url,或者它甚至沒有加載webView。 – Rayfleck 2011-04-27 13:57:57

相關問題