Обновите URL FB:Like Динамично с помощью JavaScript

я хотел бы изменить URL для симпатии кнопки FB:Like динамично с помощью JavaScript.

прямо сейчас я только смог изменить href атрибут fb:like тег (я вставил код ниже). но просто изменение href не делает, кажется, работает. возможно, я должен повторно инициировать кнопку FB:Like, но до сих пор я не могу выяснить как..

function update_share(container, url) {
  // update fb:like href value
  var container = container[0] || document.body;
  var button = container.getElementsByTagName('fb:like');
  button[0].setAttribute('href', url);
}

любая справка ценилась бы. спасибо..

11
задан RZKY 4 May 2010 в 09:24
поделиться

2 ответа

Думаю, у вас есть несколько вариантов ...

  1. Удалить элемент, построить и добавить строку XFBML, а затем проанализировать родительский объект с помощью вызова XFBML.parse.

  2. Удалите элемент или его контейнер, создайте и добавьте фактический объект XFBML, используя

  3. Построить контейнер iframe, который передается по аналогичному URL-адресу (с помощью GET) с родительской страницы. Вы можете сделать это, даже не используя настоящий бэкэнд, если можете получить строку запроса в JS. Затем просто создайте разметку, прежде чем запускать facebook SDK, и отобразится кнопка Like. Facebook в любом случае размещает все свои файлы в фреймах, поэтому этот метод не такой уж громоздкий, как кажется. Пробовал, работает хорошо.

2
ответ дан 3 December 2019 в 01:24
поделиться

другие решения:

вместо объекта fb:like напишите iframe FB в вашем html, например:

<iframe id="face" name="face" src="http://www.facebook.com/plugins/like.php?href=http://www.google.fr&layout=button_count&show_faces=false&width=400&action=like&font=arial&colorscheme=light" allowtransparency="true" style="border: medium none; overflow: hidden; width: 400px; height: 21px;" frameborder="0"scrolling="no"></iframe>

и теперь вы можете изменить с помощью javascript с помощью этой функции:

function setUrl(url)
{
    sUrl = url;
    url = "http://www.facebook.com/plugins/like.php?href="+sUrl+"&layout=button_count&show_faces=false&width=400&action=like&font=arial&colorscheme=light";
    document.getElementById('face').setAttribute('src', url);
    //alert("url : "+url);
}

когда вы меняете src, iframe FB обновляется.

8
ответ дан 3 December 2019 в 01:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: