使用javascript或..动态设置推文按钮’数据文本’内容?
作者:互联网
以下是显示推文按钮的表单上的功能代码 – 显示多个图像的表单上的按钮 – 当用户单击其中一个图像时,它变为“选定”图像,推文按钮应该发布推文所选图片的名称和网址:
<a id="tweetBtnId" href="https://twitter.com/share" class="twitter-share-button"
data-text="Check me out on OurWebSite!"
data-url=http://$ourSiteURL
data-via=http://$ourSiteURL data-size="medium" data-count="none">Tweet</a>
<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];
if(!d.getElementById(id)){js=d.createElement(s); js.id=id;
js.src="//platform.twitter.com/widgets.js"; fjs.parentNode.insertBefore(js,fjs);}}
(document,"script", "twitter-wjs");</script>
我有一个显示图像的div的’onclick()’处理程序.当用户单击其中一个图像时,会调用其div的onclick()处理程序并将该图像设置为页面上的“currentSelectedImage” – 然后onclick()处理程序需要更新Tweet按钮的“数据文本”属性与刚刚选择的图像的名称:
// This is part of the code of the 'onclick()' handler for
// the image being selected.
<script>
function handleImageOnClick()
{
var myDynamicTweetText = "name of currently-selected image goes here";
var elem = document.getElementById("tweetBtnId");
alert("The elem is: " + elem); // elem IS NULL !! Dagnabbit.
// this fails because 'elem' is null
elem.setAttribute("data-text", myDynamicTweetText);
// other onclick() code not shown for brevity......
}
</script>
我需要动态更改Tweet按钮中的’data-text’属性值作为所选图像的名称.我添加了上面的javascript代码失败 – 从这里的代码获得的’elem’:
var elem = document.getElementById("tweetBtnId");
是null(我认为)因为上面Twitter推文按钮代码中的这一行:
if(!d.getElementById(id)){js=d.createElement(s); js.id=id;
我不确定,但看起来Twitter Tweet按钮默认脚本会覆盖任何尝试
在Tweet按钮中添加’id’属性.
您将看到我在上面的Tweet按钮中添加了id =“tweetBtnId”,因此我可以在上面的图像选择onclick()处理程序中访问Tweet按钮,然后将’data-text’设置为刚选择的图像.
我只是怀疑Twitter的Tweet按钮的设计目标是“我们会愚蠢地将这个傻瓜推倒,我们只会让这些动物选择一个数据文本值 – 每个Tweet按钮必须有一个硬编码,”一次在页面“数据 – 文本属性 – 如果他们试图动态更改Tweet按钮的数据文本属性,就开玩笑.”
我需要让这个工作 – 任何想法?
解决方法:
只需将其放入具有已知ID的容器中并使用它遍历文档:
<div id="someIDiKnow">
<a id="tweetBtnId"...>...</a>
</div>
$("#someIDiKnow a").attr("data-text", "Replacement Text!");
标签:javascript,twitter,tweets 来源: https://codeday.me/bug/20190630/1334665.html