在我的网页中,我有一个类似于20的文章的提要,在每一篇文章下面都有一个社交媒体共享小组来分享每一篇文章,代码如下:
<a href="http://www.facebook.com/sharer.php?u=HTTPURLTOSHARE">
<i class="fab fa-facebook"></i>
</a>因此,基本上,我有像这样的几个链接,为每个社交媒体服务(假设10,FB,TW,IG等)和所有的每一篇文章。
我的问题是:是否有一种方法可以编写共享DIV,包括所有共享服务链接,在每一篇文章单击共享按钮时,只需将它的URL (HTTPURLTOSHARE)分配给社交媒体共享按钮?
我知道这是可能的服务器端,但我不熟悉前端后端开发。
发布于 2021-01-04 18:56:26
这可不是小事
window.addEventListener("load",function() {
[...document.querySelectorAll("a[data-url]")]
.forEach((lnk,i) => {
const url = lnk.dataset.url;
const pop = document.getElementById("sharer").content.cloneNode(true)
pop.querySelector('.overlay').setAttribute("id",lnk.hash.slice(1));
[...pop.querySelectorAll(".social-square a")].forEach(lnk => lnk.href = lnk.href.replace("SHARE",url))
lnk.after(pop)
})
})<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.1/css/all.min.css" />
<!-- FIRST ARCITLE -->
<h1>We must stop calling Trump’s enablers ‘conservative.’ They are the radical right.</h1>
<p>You hear the word “radical” a lot these days. It’s usually aimed like a lethal weapon at Democratic office-seekers, especially those who want to unseat a Republican incumbent. Sen. Kelly Loeffler, the Georgia Republican, rarely utters her challenger’s name without branding him as “radical liberal Raphael Warnock.”</p>
<a href="#popup1" data-url="https://www.washingtonpost.com/lifestyle/media/trump-enablers-radical-right-conservative/2021/01/04/634edcda-4e97-11eb-b96e-0e54447b23a1_story.html">Share this article</a>
<!-- SECOND ARTICLE -->
<h1>An Insurgency From Inside the Oval Office</h1>
<p>President Trump’s effort to overturn the election he lost has gone beyond mere venting of grievances at the risk of damaging the very American democracy he is charged with defending.</p>
<a href="#popup2" data-url="https://www.nytimes.com/2021/01/04/us/politics/trump-biden-inauguration.html">Share this article</a>
<template id="sharer">
<!-- HERE START THE SHARING MODAL WINDOW and it will be repeated for each article, Only the article URL change so this is why i want to find a way to write this code once and assign only the URL for each article if possible -->
<div id="" class="overlay">
<div class="popup"><a class="close" href="#"><i class="fas fa-times-circle"></i></a>
<div class="content">
<div class="shr-div">
<!-- Facebook -->
<div class="social-square fac" data-content="facebook">
<a href="http://www.facebook.com/sharer.php?u=SHARE" target="_blank"><i class="fab fa-facebook-f"></i></a>
</div>
<!-- Twitter -->
<div class="social-square twi" data-content="twitter">
<a href="https://twitter.com/share?url=SHARE" target="_blank"><i class="fab fa-twitter"></i></a>
</div>
<!-- WhatsApp -->
<div class="social-square wha" data-content="whatsapp">
<a href="whatsapp://send?text=SHARE" target="_blank"><i class="fab fa-whatsapp"></i></a>
</div>
<!-- Viber -->
<div class="social-square vib" data-content="viber">
<a href="viber://forward?text=SHARE" target="_blank"><i class="fab fa-viber"></i></a>
</div>
</div>
</div>
</div>
</div>
<!-- END OF THE SHARE MODAL WINDOW -->
</template>
发布于 2021-01-04 18:56:40
我认为您需要(http调用)到社交提要,以获取文章的细节(包括链接),然后,一旦您有了数据,您可以合并和呈现链接在您的页面。
https://stackoverflow.com/questions/65568175
复制相似问题