Facebook FB.ui send на мобильных устройствах
1 июня 2012
В очередной раз Facebook заставил попотеть. После реализации приглашалок через диалоги Facebook выяснилось, что они никак не хотят работать на мобильных девайсах, выдавая загадочную API Error Code 3, Unknown method. This method isn't supported by this display type
.
Оказывается, вызывать диалоги на мобильных устройствах и планшетах через JavaScript SDK — дохлый номер. Однако, примеры с URL в описании диалогов работали, поэтому родилась вот такая штука:
// определяем, мобильный ли браузер // не забудьте iPad if(isMobileBrowser()) { var params = { // если не используете SDK, можно просто вставить ID приложения app_id: FB._apiKey, name: header, link: link, description: description, // позволяет видеть ошибки, лишним не будет show_error: 1, to: userID, redirect_uri: window.location.href, // не рисовать лишнее, ресайзить попап автоматом display: 'popup' }; // строим URL var url = 'http://www.facebook.com/dialog/send?'; var parts = []; $.each(params, function(key, val){ parts.push(key+'='+encodeURIComponent(val)); }); // открываем попап var facebookPopup = window.open(url+parts.join('&'),'facebook-popup','height=300,width=200'); // ставим на него фокус if (window.focus) { facebookPopup.focus(); }
Комментарии RSS по email OK
Спасибо
Александр, а есть рабочий пример?
mihdan, это и был рабочий пример на момент публикации.
isMobileBrowser - это самопись?
Да.
Заменил на диалог apprequest, который работает сейчас на всех устройствах - надобность в костылях отпала