2013-10-07 2 views
3

Я пытаюсь создать пользовательскую кнопку Twitter, которая будет захватывать URL страницы текущей страницы при нажатии, что явно изменится в зависимости от того, на какой странице она появляется, в отличие от кнопки общего доступа по умолчанию , Однако я не уверен, как передать URL страницы в кнопку.Twitter Share динамический URL-адрес share

Это то, что я до сих пор jsfiddle

<style type="text/css" media="screen"> 

</style> 
<div id="social-share-container"> 
<div id="custom-tweet-button"> 
<a id="tweetShare" href="https://twitter.com/share?url="+encodeURIComponent(document.URL); target="_blank">Tweet 
    </a> 
</div> 
</div> 

Это немного взломан вместе, как я довольно знакомы с JS.

ответ

2

Я хотел бы предложить window.location - Это даст вам текущую страницу URL.

Проблема в том, что вы используете JS inline в HTML - вы не можете делать то, что хотите.

Я обновил вашу скрипку несколькими ванильными js, чтобы показать вам лучший способ сделать это.

http://jsfiddle.net/4jF5N/1/

var link = document.getElementById('tweetShare'); 
var url = window.location; 

link.addEventListener('click',function(event){ 
    event.preventDefault(); 

    window.open("https://twitter.com/share?url="+encodeURIComponent(url)); 
    alert(url) 
},false); 
+0

Кажется, что ничего не анализируется после url = вообще, хотя, не уверен, что это ограничение JSFiddle или нет. – RyanSoper

3

Это передает URL и название для простого всплывающего окна с твиттером акций:

<script language="javascript"> 
    function tweetCurrentPage() 
    { window.open("https://twitter.com/share?url="+escape(window.location.href)+"&text="+document.title, '', 'menubar=no,toolbar=no,resizable=yes,scrollbars=yes,height=300,width=600');return false; } 
</script> 

<a class="tweet" href="javascript:tweetCurrentPage()" target="_blank" alt="Tweet this page">Tweet this page</a> 

Если вы не хотите, чтобы открыть во всплывающем окне box, вы можете использовать это вместо window.open:

window.location.href="https://twitter.com/share?url="+escape(window.location.href)+"&text="+document.title; 
+0

Это, похоже, не работает ... – Xarcell

+0

@ Xarcell вы можете дать больше информации о том, как он не работает? Из вашего комментария нет никакого способа узнать, есть ли на самом деле проблема или если вы просто внедрили это неправильно. Это сообщение теперь почти три года, поэтому возможно, что Twitter внес изменения в свои службы, которые не позволят этому работать или требуют корректировки. Первое, что я хотел бы посмотреть, это убедиться, что https://twitter.com/share?url=[url]&text=[text] по-прежнему является правильным форматом для совместного использования. – wentz

Смежные вопросы