我必须使用 phonegap(HTML5、css、javascript、json、jquery、...)开发一个应用程序。这个应用程序应该必须打开一个外部网站(使用 inAppBrowser)才能登录,然后返回到提供令牌的应用程序。现在我可以打开外部网站,但我不知道如何返回应用程序。有人能帮我吗?谢谢
奥马尔
我必须使用 phonegap(HTML5、css、javascript、json、jquery、...)开发一个应用程序。这个应用程序应该必须打开一个外部网站(使用 inAppBrowser)才能登录,然后返回到提供令牌的应用程序。现在我可以打开外部网站,但我不知道如何返回应用程序。有人能帮我吗?谢谢
奥马尔
我只是粗略地写了一些代码来从外部网站检索数据。希望这可以帮助:
var yourApp = {
getData : function(q) {
var search_url = "http://xyz.com/xyz/customfeed?filterby=custom&urlfilter=1&" + q;
$("#loading").show();
$.ajax({
type: 'GET',
url: search_url,
dataType: 'xml',
success: function(xml) {
$('entry', xml).each(function() {
var hi = new xyzDataItem();
hi.title = $(this).find('title:eq(0)').text();
hi.link = $(this).find('link:eq(0)').attr('href');
hi.desc = $(this).find('summary:eq(0)').text();
hi.date = $(this).find('updated:eq(0)').text();
hi.id = $(this).find('id:eq(0)').text();
$("#loading").hide();
$("#search_results").append('<div class="abc">' +
'<h2>' + hi.title + '</h2>' +
'<P>' + hi.desc + '</p>' +
'<P><a href="' + hi.link + '" class="external">xyzData</a></p>' +
'</div>');
});
}
});
}
}
如果您使用的是 InAppBrowser,请执行以下操作:
document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
var ref = window.open('http://apache.org', '_blank', 'location=yes');
ref.addEventListener('loadstop', function(event) {
if (event.url,indexOf("http://apache.org") > -1){
//do something
}
});
}
理想情况下,令牌应该是 URL 的一部分,以便更容易检索。否则使用 $.getJSON 方法,不要使用 InAppBrowser。但如果使用 InAppBrowser,那么令牌应该是查询字符串参数。