【问题标题】:jquerymobile + phonegap external page inside div / iframejquerymobile + phonegap 外部页面在 div / iframe 内
【发布时间】:2013-12-17 09:15:48
【问题描述】:

我试图在 jqm iframe 中嵌入外部网页(facebook 页面/twitter),但 iframe 没有加载。

<div data-role="content" >  
<iframe>http://m.facebook.com/pages</iframe>
</div>

我已将 *.facebook.com 放入 phonegap 白名单。

<access origin="http://*.facebook.com" browserOnly="true"/>

一直在寻找一个星期的解决方案,但没有任何结果。 我想知道是否有人可以给我另一种方法,因为这不起作用。

更新:似乎我可以在 iframe 中注入随机 php 页面,但无法显示 facebook 或 twitter。我需要使用 fb / twitter api吗?

ps。我没有做 fbconnect 的东西,只是显示页面的移动版本。

我尝试过的另一件事:

$(document).on('pageshow', '#twit' ,function(){

    var ref = window.open(encodeURI('http://apache.org'), '_blank', 'location=yes');
    // relative document
    ref = window.open('next.html', '_self');

        $("#twitcont").append(ref);

}

【问题讨论】:

    标签: javascript jquery facebook iframe cordova


    【解决方案1】:

    PhoneGap 外部页面使用 InAppBrowser

    var ref = window.open(your_url, 'random_string', 'location=no');
    
    ref.addEventListener('loadstart', function(event) {
    
    });
    ref.addEventListener('loadstop', function(event) {
         console.log(event.type + ' - ' + event.url);
    
    });
    ref.addEventListener('exit', function(event) {
    
    });
    

    【讨论】:

      【解决方案2】:

      在添加了一个 InAppBrowser 来代替我之前使用的 iframe 之后,我最终再次尝试了 iframe,并且 iframe 现在可以正常工作,而无需像以前那样跳转到手机的浏览器,并且 iframe 在两者中都能正常工作iOS 和 Android。

      从 iframe 被破坏到它们开始工作时发生了 2 件事:

      我升级到 Cordova 2.5 我开始使用 jquery 动态创建/添加 iframe 到页面,而不是像我最初所做的那样仅仅取消隐藏已经存在的 iframe:

      $('').appendTo('body'); .

      【讨论】:

      • 你能说得更具体点吗?就像将 facebook 附加到 id。
      • 你想在iframe中打开或显示
      • 在 iframe 或 div 中,内容 div 内的任何内容。基本上我想嵌入页面,而不是打开它。
      • 它有问题或限制..尝试打开苹果网站,我相信它会打开。
      【解决方案3】:

      NSURLErrorCancelled 当异步加载被取消时返回。 Web Kit 框架委托在对加载资源执行取消操作时将收到此错误。请注意,如果取消下载,NSURLConnection 或 NSURLDownload 委托将不会收到此错误。在 OS X v10.2 及更高版本中可用。在 NSURLError.h 中声明。

      【讨论】:

        【解决方案4】:

        尝试在 src 属性中添加 URL

        <iframe src="http://m.facebook.com/pages"></iframe>
        

        【讨论】:

        • 似乎加载随机页面是可以的,但 facebook 和 twitter 页面不能。怎么了?
        【解决方案5】:

        我认为您需要使用InAppBrowser插件,并将您的访问规则替换为以下仅用于测试:

        <access origin="*" />
        

        然后你就可以开始直接加载页面了:

        var ref = window.open('http://m.facebook.com/pages', '_blank', 'location=yes');
        

        【讨论】:

        • 完成了,但我不知道从哪里开始示例,有很多。
        • 您可以按照我在回答中提到的phonegap网站中的示例进行操作
        • 是的,我听从了你的建议,尝试在 div 中追加,但不起作用。 $("#twitcont").append(ref);
        • 它将打开一个页面,其中您的 url 不在特定的 div 上
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-05-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-02-09
        • 2012-10-07
        • 2013-10-09
        相关资源
        最近更新 更多