Javascript 重新创建或更改twitter按钮的参数

Javascript 重新创建或更改twitter按钮的参数,javascript,jquery,twitter,Javascript,Jquery,Twitter,我有一个带有twitter按钮的页面。在twitter按钮之前,我有一个输入字段和一个表单,可以轻松添加该页面的相关hashtag。 目的是将inputfield的文本传送到twitter。它位于twitter对话框的inputfield中 因此,我有以下代码来显示按钮,摘自twitter文档: <a href="https://twitter.com/share" class="twitter-share-button" data-lang="en" data-size="l

我有一个带有twitter按钮的页面。在twitter按钮之前,我有一个输入字段和一个表单,可以轻松添加该页面的相关hashtag。 目的是将inputfield的文本传送到twitter。它位于twitter对话框的inputfield中

因此,我有以下代码来显示按钮,摘自twitter文档:

<a  href="https://twitter.com/share" 
    class="twitter-share-button" data-lang="en"
data-size="large" 
    data-count="none"
data-text="BLA"
id="tweetbutton">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="https://platform.twitter.com/widgets.js";                               
                fjs.parentNode.insertBefore(js,fjs);
            }
    }
    (document,"script","twitter-wjs");
    </script>

!功能(d、s、id){
var js,fjs=d.getElementsByTagName[0];
如果(!d.getElementById(id)){
js=d.createElement;
js.id=id;
js.src=”https://platform.twitter.com/widgets.js";                               
fjs.parentNode.insertBefore(js,fjs);
}
}
(文件,“脚本”、“推特wjs”);
(我输入“BLA”作为文本,作为测试)

因此,当inputfield的值更改时,我会执行以下操作:

<script language="javascript" type="text/javascript">
   function appendTag(tag) {    
   var newValue = $('#bericht').val() + tag;        
   $('#tweetbutton').attr('data-text', newValue);

   twttr.widgets.load();                
}
</script>

函数appendTag(tag){
var newValue=$('#bericht').val()+标记;
$('#tweetbutton').attr('data-text',newValue);
twttr.widgets.load();
}
在文档中,我读到“twttr.widgets.load();”应该重新创建按钮。但它不能做到这一点。我还尝试在我的函数下面添加一行“(document,“script”,“twitterwjs”);”,但没有改变行为

方向正确吗?也许有更好的方法可以在移动中更改按钮的文本属性

更新:
我发现在ted.com上,他们用addthis api做了一些类似的事情。但是我想在没有api的情况下完成它。所以,如果你需要想象我想做什么,比如检查一下。它们有一个inputfield,以某种方式链接到tweet按钮。

您可以使用一个具有所有必需属性的自定义按钮来代替API按钮,并将onclick事件url:

window.open('https://twitter.com/share?url=<url>&text=<text>', 'sharer', 'toolbar=0,status=0,width=620,height=280');
window.open('https://twitter.com/share?url=&text='工具栏=0,状态=0,宽度=620,高度=280';

这就像推特消息的弹出窗口。

Thx!刚刚测试了这个方法,它会做我想要的。为了将来参考,您需要执行text.replace('#','%23');否则你的标签就不起作用了。