2012-11-08 48 views
2

我正在開發具有phonegap/cordova 2.1.0的移動應用程序(IOS/android)UI。我想在新窗口/頁面中打開錨標記的href屬性中給出的鏈接。我嘗試過:target =「_ blank」在IOS中不工作

target="_blank" 

但它不在IOS中工作。任何解決方法可用?由於

+0

你認爲它打開在哪裏?如果你在Phonegap中,沒有任何新的窗口/標籤? –

+0

根據[Safari HTML文檔] [1],這應該可行。 你可以發佈你的代碼嗎? [1]:http://developer.apple.com/library/safari/#documentation/AppleApplications/Reference/SafariHTMLRef/Articles/Attributes.html#//apple_ref/html/attribute/target –

+0

在phonegap中,我可不可以打開另一個窗口/選項卡? – clint

回答

3

如果你可以使用jQuery:

<a href="http://link.com" rel="external">link</a> 

的Javascript:

$(document).ready(function(){ 
    $('a[rel="external"]').click(function() { 
     window.open($(this).attr('href')); 
     return false; 
    }); 
}); 

Sources

+0

我還沒有找到一個window.open的參數,它會讓它在iOS中工作。它總是在我的webview中打開。 (Phonegap Build 3.1.0) –

+0

直到我添加到config.xml,然後它才能在iOS中運行。 –

0

不碰你的JavaScript文件,只需寫上你MainViewController.m文件驗證碼,在@end標籤之前。我和你一樣和科爾多瓦框架一起工作。

  • (BOOL)web視圖:(的UIWebView *)theWebView shouldStartLoadWithRequest:(的NSURLRequest *)請求navigationType:(UIWebViewNavigationType)navigationType {

    的NSString * URL = request.URL.absoluteString;

    NSString * pathExtension = [[url lastPathComponent] pathExtension];

    如果([pathExtension isEqualToString:@ 「PDF」]){

    [[UIApplication sharedApplication] openURL:request.URL]; 
    
    return NO; 
    

    } 否則如果([[request.URL主機] isEqualToString:@ 「www.yoururl.com」]){

    [[UIApplication sharedApplication] openURL:request.URL]; 
    
    return NO; 
    

    }

    返回[超級web視圖:theWebView shouldStartLoadWithRequest:請求navigationType:navigationType]; }

在這裏,您可以看到兩個不同的指令,所有PDF文件將在新窗口中打開,並在request.URL後,你需要WIRTE您的網址。如果你www.yoururl.com/folder1/folder2你不需要寫所有的url,因爲也許你會有很多不同的網址。你只需要從你的網站上寫出www.yoururl.com。

希望它對你有幫助,這對我有用。 =)

相關問題