Вы можете использовать что-то вроде этого (имейте в виду, что это будет оставить заявление без signed_request
):
if (document.location.protocol=='http:'){
document.location.protocol = 'https:';
}
Если вы хотите, родительский фрейм (сам Facebook), чтобы переключиться на HTTPS
, а чем вы будете должны знать URL
вашей страницы в приложении:
if (document.location.protocol=='http:'){
window.top.location = 'https://YOUR_APPLICATION_PAGE_URL'
}
Вы, наверное, знаете URL
шаблон для вашего приложения и сделать знать Canvas URL
об этом, так что-то подобное может поместиться:
if (document.location.protocol=='http:'){
var applicationUrl = 'https://facebook.com/example-application';
var canvasURL = 'http://example.com/facebook-canvas';
var currentAppPageUrl = (document.location+'').replace(canvasURL, applicationUrl);
window.top.location = currentAppPageUrl;
}
Я попытался получить «window.top.location», , но я думаю, что facebook не любит меня. –
Это не связано с Facebook, но кросс-доменная политика браузера. Короче: вы не можете получить window.top.location только для его установки! –
Я пробовал этот код: '
' Это не работа. –