0

我有一个 while 循环,可以创建多个包含内部信息的表。每个表中都有一个 facebook 和 twitter 图标。读者可以通过 onclick 事件共享信息或在推特上发布表格中的信息。

这是每个事件。

<?php
echo'<script type="text/javascript">
function tweet(){

var sharer = "https://twitter.com/intent/tweet?source=webclient&text=',$title2,' - http://www.globatum.com/lite/post.php?id=',$row['id'],'";
window.open(sharer,\'sharer\' , \'width=600,height=500\');}
</script>';
?>
<?php
echo'<script type="text/javascript">
function fbshare(){

var share = "https://www.facebook.com/sharer/sharer.php?u=http://www.globatum.com/lite/post.php?id=',$row['id'],'";
window.open(share,\'share\' , \'width=600,height=500\');}
</script>';
?>

奇怪的是它有效。有些。当我单击 fb 图标时,会弹出一个带有对话框的小窗口。推特也一样。问题是当我查看弹出窗口的标题时......它使用的是所有表格中的相同信息。

我想要的是...

表 1 fb 图标点击应打开窗口 https://www.facebook.com/sharer/sharer.php?u=http://www.makeupsite.com/post.php?id=1

表 2 将是 https://www.facebook.com/sharer/sharer.php?u=http://www.makeupsite.com/post.php?id=2

表 3 .. https://www.facebook.com/sharer/sharer.php?u=http://www.makeupsite.com/post.php?id=3

但是,当我单击图标时...

表 1:打开窗口 https://www.facebook.com/sharer/sharer.php?u=http://www.makeupsite.com/post.php?id=1 (GOOD)

表 2:打开窗口... https://www.facebook.com/sharer/sharer.php?u=http://www.makeupsite.com/post.php?id=1 (BAD)

表 3:打开窗口... https://www.facebook.com/sharer/sharer.php?u=http://www.makeupsite.com/post.php?id=1 (BAD)

这听起来像是一个简单的 sql 问题,但是当我拉起页面源时,我得到了

表格1

<script type="text/javascript">
function tweet(){

var sharer = "https://twitter.com/intent/tweet?source=webclient&text=random title - http://www.makeupsite.com/post.php?id=39";
window.open(sharer,'sharer' , 'width=600,height=500');}
</script><script type="text/javascript">
function fbshare(){

var share = "https://www.facebook.com/sharer/sharer.php?u=http://www.makeupsite.com/post.php?id=39";
window.open(share,'share' , 'width=600,height=500');}
</script>

表 2

<script type="text/javascript">
function tweet(){

var sharer = "https://twitter.com/intent/tweet?source=webclient&text=random title - http://www.makeupsite.com/post.php?id=43";
window.open(sharer,'sharer' , 'width=600,height=500');}
</script><script type="text/javascript">
function fbshare(){

var share = "https://www.facebook.com/sharer/sharer.php?u=http://www.makeupsite.com/post.php?id=43";
window.open(share,'share' , 'width=600,height=500');}
</script>

基本上页面源在说一件事......但是 window.open 正在做一些完全不同的事情。

4

1 回答 1

0

您一遍又一遍地重新定义相同的功能。根据浏览器,您将始终调用您定义的第一个或最后一个 tweet() 或 fbshare() 实例。

在文档的页脚中,设置一个函数:

function shareLink(targetURL){
    window.open(targetURL, 'share', 'width=600,height=500');
}

然后,将其绑定到您的社交按钮:

onclick=shareLink("[twitter URL here]");

或者

onclick=shareLink("[facebook URL here]");

看看我在说什么?

编辑哎呀,如果我把名字弄对了会有帮助

于 2013-06-20T21:03:15.677 回答