【问题标题】:Window.open within php while loop not functioning correctlyphp 中的 Window.open while 循环无法正常运行
【发布时间】:2013-06-17 18:08:27
【问题描述】:

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

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

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

表一

<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 做的是完全不同的事情。

【问题讨论】:

    标签: php javascript window.open


    【解决方案1】:

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

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

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

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

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

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

    看看我在说什么?

    编辑哎呀,如果我的名字正确的话会有所帮助

    【讨论】:

    • 我理解,这很有意义。我将如何通过 onclick 事件传递变量?遵循您的方法不会打开新窗口。我应该尝试类似 onClick="socialWindow( shareLink(stuff in here) )" 吗?
    • [code]google.com")><imgsrc="/images/twitter.png" width="30px">[@ 987654326@] 试过了,一无所获
    • 谢谢!像魅力一样工作 =)
    猜你喜欢
    • 2023-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-23
    • 1970-01-01
    相关资源
    最近更新 更多