【问题标题】:Close Cordova InAppBrowser after a specific URL loads加载特定 URL 后关闭 Cordova InAppBrowser
【发布时间】:2014-05-01 14:40:31
【问题描述】:

我正在使用 Apache Cordova 的 IBM Worklight 中编写一些代码。

我正在尝试打开 InAppBrowser,而不是让用户在完成后单击“完成”,我希望它在加载特定 URL 时自动关闭。这可能吗?

场景:
我基本上将用户引导到 twitter.com(比使用 oauth 过程更容易),并且只让用户在 InAppBrowser 浏览器中使用 twitter,但是一旦用户登录(url 变成新闻提要 url)我想重定向用户直接到帖子 URL,一旦发布,如果可能,返回应用程序。


编辑(2014 年 5 月 1 日)
按照下面答案中的建议,我可以将用户定向到帖子页面,但是一旦完成加载,它就会重定向到主页,而实际上无法发送推文。有没有办法来解决这个问题?此外,InAppBrowser 永远不会退出。

另外,下面的代码只有在用户已经登录的情况下才有效。有没有办法说,如果用户没有登录,转到主页,如果他们转到帖子页面?

// open InAppBrowser w/out the location bar
var ref = window.open('http://mobile.twitter.com/compose/tweet', '_blank', 'location=no');

// attach listener to loadstart
ref.addEventListener('loadstart', function(event) { 
    var urlSuccessPage = "http://mobile.twitter.com";
    if (event.url == urlSuccessPage) {
    ref.close();
    }
});

【问题讨论】:

    标签: cordova twitter ibm-mobilefirst inappbrowser


    【解决方案1】:

    如果您坚持在用户导航到其他地方时关闭 InAppBrowser,您或许可以试试这个:Phonegap build - Open external page in InAppBrowser or childbrowser with no toolbar and close it?

    // open InAppBrowser w/out the location bar
    var ref = window.open('http://myloginapp.com', '_blank', 'location=no');
    
    // attach listener to loadstart
    ref.addEventListener('loadstart', function(event) { 
        var urlSuccessPage = "http://myloginapp/success/";
        if (event.url == urlSuccessPage) {
        ref.close();    
        }
    });
    

    编辑:我建议还查看 InAppBrowser 的整个文档及其对事件的使用。 http://docs.phonegap.com/en/3.1.0/cordova_inappbrowser_inappbrowser.md.html

    也许loadstart 不是使用正确的事件。

    也就是说,InAppBrowser 的行为类似于普通网页;我不认为你可以在其中做很多“操作”。

    【讨论】:

    • 该请求是有道理的,想象一下您希望用户通过的向导,并希望他在导航到最后一页后返回应用程序。我在 Facebook 或 Twitter 分享对话框中使用了类似的方法。
    • 好的。我认为使用 InAppBrowser 事件的第一个解决方案应该根据他的代码进行一些修改。
    • Anubis - 您能否验证此代码是否适用?我正在尝试做与您提到的完全相同的事情,但对于 Twitter!
    • 您是否控制在 InAppBrowser 中加载的页面内容?你到底在加载什么?
    • 不知道你说的控制页面内容是什么意思?我基本上将用户引导到 twitter.com(比使用 oauth 进程更容易)并让他们在浏览器中使用 twitter,但是一旦用户登录(url 成为新闻提要 url)我想将用户直接重定向到发布 URL,并在可能的情况下发布回应用程序。
    猜你喜欢
    • 2021-11-26
    • 2017-11-12
    • 2020-03-02
    • 1970-01-01
    • 2019-07-07
    • 1970-01-01
    • 2020-07-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多