Использовать Javascript, чтобы открыть ссылку для скачивания, когда диалоговое окно фида успешно предоставлено? - PullRequest
0 голосов
/ 20 ноября 2011

Может кто-нибудь объяснить мне, как можно отобразить ссылку для скачивания, когда пользователь нажимает кнопку «Поделиться» в диалоговом окне канала?Я использую следующий код: (с моей собственной информацией, конечно)

Пост в Feed

<script> 
  FB.init({appId: "YOUR_APP_ID", status: true, cookie: true});

  function postToFeed() {

    // calling the API ...
    var obj = {
      method: 'feed',
      link: 'https://developers.facebook.com/docs/reference/dialogs/',
      picture: 'http://fbrell.com/f8.jpg',
      name: 'Facebook Dialogs',
      caption: 'Reference Documentation',
      description: 'Using Dialogs to interact with users.'
    };

    function callback(response) {
      document.getElementById('msg').innerHTML = "Post ID: " + response['post_id'];
    }

    FB.ui(obj, callback);
  }

</script>

IПонятия не имею, как это сделать: какой код мне нужен, чтобы, когда пользователь нажимает «поделиться», появлялось окно загрузки?Но если они нажмут кнопку «Отмена», появится сообщение о том, что им нужно поделиться первым?Я уже писал подобный вопрос и получил ответ, что мне нужно использовать какой-то JavaScript, но проблема в том, что я не знаю, как или что написать?Может кто-нибудь, пожалуйста, покажите и объясните, какой именно JavaScript мне нужен, потому что я не знаю, как использовать JavaScript один бит.

Заранее спасибо за любые ответы / помощь !!

1 Ответ

0 голосов
/ 21 ноября 2011

Функция обратного вызова выполняется, когда пользователь завершает диалоговое окно подачи сообщения с помощью кнопки «Поделиться» или «Отмена».Вы можете проверить «post_id», чтобы увидеть, какое действие предпринял пользователь.Затем либо покажите окно загрузки, либо отобразите предупреждение (или, возможно, более удобный для пользователя формат сообщения).

Добавьте на страницу скрытый элемент окна загрузки с идентификатором «download_box»:

<div id="download_box" style="display: none;">
    Download Box (whatever that means) goes here
</div>

И замените текущую функцию «обратного вызова»:

function callback(response) {
    if (response && response.post_id) {
        document.getElementById('download_box').style.display = 'block';
    } else {
        alert('You must share your post before you can download.');
    }
}
...