phonegap - open link in browser

后端 未结 9 813
一向
一向 2020-12-08 22:52

I use phonegap (cordova 2.2)

I have link like this :

twitter
相关标签:
9条回答
  • 2020-12-08 22:58

    The link provided by user1879822 was actually the most useful one for me: https://build.phonegap.com/blog/access-tags

    To summarize, PhoneGap has a whitelist of allowed URLs within its config.xml. This means if it has an entry like this ...

    <access origin="*" />
    

    ... it will attempt to open all links inside its own webview. However if you constrain your whitelist to only specific URLs, then any link to a URL not in that list will automatically open in an external browser, not within your local webview. For example if you constrain it to only this ...

    <access origin="http://127.0.0.1*" />
    

    ... then the twitter link mentioned in the original question should open in a new external browser.

    0 讨论(0)
  • 2020-12-08 23:00

    This is how I got it working using Cordova 2.2 and jQuery mobile on Android

    Javascript:

    $('.link').live('tap', function() {
        url = $(this).attr("rel");   
        loadURL(url);
    });
    
    function loadURL(url){
        navigator.app.loadUrl(url, { openExternal:true });
        return false;
    } 
    

    html:

    <a href='#' class='link' rel='http://www.someurl.com'>Go Somewhere</a>
    
    0 讨论(0)
  • 2020-12-08 23:04

    Even if this question was asked a while ago I wanted to inform you about the following blod entry which helped me out:

    https://build.phonegap.com/blog/access-tags

    In android all I had to to was to unwhitelist my specified domain. So in my config.xml I do not have any ` at all.

    0 讨论(0)
  • 2020-12-08 23:05

    If you want to use as in the ios version, with target="_blank" attributes:

    $(document).on('tap', 'a[target="_blank"]', function(e){
        navigator.app.loadUrl(e.target.href, { openExternal: true });
        return false;
    });
    
    0 讨论(0)
  • 2020-12-08 23:06

    This worked for me on ios

                        $("a[target='_blank']").on('tap touch click',function(e){
                            e.stopPropagation();
                            e.preventDefault();
                            window.open($(this).attr('href'), "_system");
                            return false;
                        });
    
    0 讨论(0)
  • 2020-12-08 23:12

    I had the same exact problem and I noticed that most of the answers are mixed up for different platfoms. The solution works for me is Detail Explanation for different platforms

    0 讨论(0)
提交回复
热议问题