编辑 - 没有得到回应所以让我问这个。我可以这样做吗?
<a href="http://m.facebook.com/...." target="_webapp">facebook button</a>
让页面加载到当前页面之上并在页面实际重定向到jquery之前侦听window.location.hostname吗?
Facebook网站网址= http://www.mysite.com
在移动应用中,您可以使用fb(YOUR_APP_ID)://授权/来请求auth_token。
使用jquery,如何在页面进入之前捕获重定向的URL?
即
CALLBACK_URL = fb(YOUR_APP_ID)://authorize/
url = "https://m.facebook.com/dialog/oauth?client_id=YOUR_APP_ID&redirect_uri=CALLBACK_URL"
WebView.navigate(url)
WebView.execture_js('$(document).ready(function() {
$("body").ajaxComplete(function(e, xhr, settings) {
if (xhr.getResponseHeader("Location").hostname == "fb(YOUR_APP_ID)://authorize/"){
alert(xhr.getResponseHeader("Location"));
// and redirect back to action in my app...
}
});
});')
答案 0 :(得分:0)
如果您使用的是jQuery Mobile,请查看pagebeforeshow事件。
http://jquerymobile.com/demos/1.0b1/#/demos/1.0b1/docs/api/events.html
$('div').live('beforepageshow', function(event, ui) {
var page = $(this).attr("id");
if (page == 'mypage') {
// your logic here
}
});
您也可以尝试在mobileinit事件的处理程序中添加注册ajaxComplete处理程序。
http://jquerymobile.com/demos/1.0b1/#/demos/1.0b1/docs/api/globalconfig.html
$(document).bind("mobileinit", function() {
$("body").ajaxComplete(function(e, xhr, settings) {
if (xhr.getResponseHeader("Location").hostname == "fb(YOUR_APP_ID)://authorize/"){
alert(xhr.getResponseHeader("Location"));
// and redirect back to action in my app...
}
});
});