Data-xyz возвращает пустую строку - PullRequest
0 голосов
/ 04 августа 2020

Я использую следующее для создания настраиваемых кнопок совместного доступа на моем сайте. Я могу передать URL-адрес через атрибут data-url, и он работает, однако у меня есть атрибут data-tweet, который возвращает пустую строку в консоль, когда я проверяю код.

//sharing links
setShareLinks();
function socialWindow(url) {
var left = (screen.width - 570) / 2;
var top = (screen.height - 570) / 2;
var params = "menubar=no,toolbar=no,status=no,width=570,height=570,top=" + top + ",left=" + left;
window.open(url,"NewWindow",params);
}

function setShareLinks() {
var pageURL = encodeURIComponent($('#share').attr("data-url"));
var tweet = $('#share').attr("data-tweet");
console.log(pageURL);
console.log(tweet)

jQuery(".social-share.facebook").on("click", function() {
    url = "https://www.facebook.com/sharer.php?u=" + pageURL;
    socialWindow(url);
});

jQuery(".social-share.twitter").on("click", function() {
    url = "https://twitter.com/intent/tweet?url=" + pageURL + "&text=" + tweet;
    socialWindow(url);
});

jQuery(".social-share.linkedin").on("click", function() {
    url = "https://www.linkedin.com/shareArticle?mini=true&url=" + pageURL;
    socialWindow(url);
})
};

И html здесь

<div class="links" id="share" data-tweet="test" data-url="<?php echo URLROOT.'/ships-logs/'.date('jS-F-Y', strtotime($data['pageData']->post_createdOn)); ?>">
<div class="btn social-share facebook text-white shadow-sm mt-1">
<div class="mr-2" style="display:inline;">
<i class="fab fa-facebook-f"></i>
</div>
<div style="display:inline;">
Share on Facebook
</div>
</div>
<div class="btn social-share twitter text-white shadow-sm mt-1">
<div class="mr-2" style="display:inline;">
<i class="fab fa-twitter"></i>
</div>
<div style="display:inline;">
Share on Twitter
</div>
</div>
<div class="btn social-share linkedin text-white shadow-sm mt-1">
<div class="mr-2" style="display:inline;">
<i class="fab fa-linkedin-in"></i>
</div>
<div style="display:inline;">
Share on LinkedIn
</div>
</div>
</div>

Может ли кто-нибудь заметить, где я ошибаюсь? Я уверен, что допустил опечатку или не совсем понимаю, что делает код.

1 Ответ

0 голосов
/ 04 августа 2020

Мой код выше работает - в соответствии с комментарием @TJ Crowder у меня был второй элемент share в DOM, который вызывал проблемы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...