Window.open在php内循环无法正常运行

时间:2013-06-20 18:34:29

标签: php javascript window.open

我有一个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(好)

表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正在做一些完全不同的事情。

1 个答案:

答案 0 :(得分:0)

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

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

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

然后,将其与社交按钮联系起来:

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

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

看看我的目标是什么?

编辑呐喊,如果我说出正确的话会有所帮助