Обновление URL Facebook like в jQuery

#jquery #facebook

#jquery #Facebook

Вопрос:

У меня есть следующий скрипт. Как вы можете видеть, он обновляет fb href, но по какой-то странной причине like не обрабатывается. Я что-то перепутал?

 <html>
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js"></script> 
</head>
<script>
$(document).ready(function() {
    $('#submit').click(function() {
        $('fb\:like').attr('href', $("#URL").val());
    });
});
</script>
<body>

<div id="fb-root"></div>
<script src="http://connect.facebook.net/en_US/all.js#appId=174802005910704amp;amp;xfbml=1"></script>
<fb:like href="#" send="false" layout="box_count" width="80" show_faces="false" font=""></fb:like>
<input type="text" id="URL" />
<input type="button" id="submit" value="go">
</body>
</html>
  

Будем признательны за любую помощь.

Комментарии:

1. Я вижу, что вы пытаетесь сделать.. Вы пытаетесь заставить пользователя поставить лайк другой странице, нажав «Мне нравится» на одной странице. Не сработает, братан, кнопка fb: like отображается в iframe, и вы не можете изменить ее href программно после ее отображения. Хорошая попытка, хотя 🙂

Ответ №1:

Нет, это мало что даст, потому что <fb:like> тег уже обработан и визуализирован. все, что вы делаете (если это действительно работает), это изменение атрибута, которое не имеет никакого эффекта

Попробуйте объяснить, чего вы пытаетесь достичь, и вы получите лучший ответ

Комментарии:

1. Спасибо за ответ. Я пытаюсь обновить URL Facebook like из формы .. <тип ввода= «text» id =»URL» /> <тип ввода = «button» id =»submit» значение =»go»>

2. Вы успешно обновляете его, но это ничего не изменит на вашей странице, попробуйте взглянуть на свой DOM с помощью firebug, чем вы лучше поймете мой ответ, кнопка like превращается в iframe и больше не зависит от тега like

3. Как изменить атрибут перед отображением?

4. вы изменяете его в html или вставляете динамически с правильным атрибутом url.

Ответ №2:

Добавьте это в свой html

 <div class="share"></div>
  

При загрузке и при нажатии кнопки или изменении какого-либо состояния вызывайте эту функцию

 function update_share_location() {

    // Empty previous share stuff
    $('.share').empty();

    // Your new share location
    var url_loc = 'http://yournewshare.com';

    share_options = '<iframe src="//www.facebook.com/plugins/like.php?href=' url_loc 'amp;amp;send=falseamp;amp;layout=button_countamp;amp;width=250amp;amp;show_faces=falseamp;amp;action=likeamp;amp;colorscheme=lightamp;amp;fontamp;amp;height=26" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:200px; height:26px;" allowTransparency="true"></iframe>';

    // Update html
    $('.share').html(share_options);


}