div / iframe里面的jquerymobile + phonegap外部页面

时间:2013-12-17 09:15:48

标签: javascript jquery facebook iframe cordova

我试图在jqm iframe中嵌入外部网页(facebook pages / 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);

}

5 个答案:

答案 0 :(得分:1)

使用InAppBrowser的PhoneGap外部网页

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) {

});

答案 1 :(得分:0)

我认为您需要使用InAppBrowser插件,还可以通过以下方式替换您的访问规则以进行测试:

<access origin="*" />

然后您可以使用以下方式直接开始加载页面:

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

答案 2 :(得分:0)

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

从iframe破解到开始工作时,有两件事发生了变化:

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

$( '')appendTo。( '主体');

答案 3 :(得分:0)

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

答案 4 :(得分:0)

尝试在src属性中添加URL

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