Ошибка с диалоговым окном запроса Facebook с использованием Javascript SDK, не работает при первом нажатии

у меня есть приложение Facebook, в котором есть кнопка, которая вызывает диалоговое окно запросов Facebook. Когда эта кнопка нажимается при первой загрузке страницы, диалоговое окно запроса появляется в новом окне, и это новое окно не работает в половине случаев (зависает и требует, чтобы я закрыл все окна браузера). но когда я работаю и позволяю мне закрыть его, и я снова нажимаю кнопку, он открывается правильно, в диалоге с тенью и все такое.

Мой вопрос в том, как сделать так, чтобы он не открывался в новом окне при первом нажатии и, возможно, закрывал мое приложение. Вот мой код, который запускает диалог:

//shows pop up window for inviting friends
function Invite()
{
    FB.init(
    {       
        appId:'<?echo $app_id;?>', cookie:true,
        status:true, xfbml:true 
    });
    FB.ui(
    {
        method: 'apprequests', 
        message: 'Insert Message Here'
    });
}

и вот мой код кнопки, если это имеет значение:

`<button onclick="Invite();">Invite Friends!</button>`

я использую Javascript SDK. Я искал это, но ничего не выходит.

В моей консоли, когда диалоговое окно открывается в новом окне, отображается ошибка: Изображение повреждено или усечено:


person Dewseph    schedule 07.09.2011    source источник


Ответы (1)


Вы должны вызывать функцию FB.init() вне функции Invite(). FB нужно некоторое время, чтобы загрузить себя. Попробуйте разместить FB.init() отдельно вверху страницы (после тега body).

person Anton Melnikov    schedule 07.09.2011
comment
Благодарю за ваш ответ. Я изменил свой код, и теперь он работает. То, что я сделал, было в document.ready, я загрузил FB.init(). - person Dewseph; 07.09.2011