2

在 php 脚本中,在某些时候我需要显示一个 GreyBox 弹出窗口:

<?php
    if ($myvar==''){
?>
    <script>
    // I need to show mypage.php in a GreyBox popup when in here
   GB_showCenter('Title', 'mypage.php' , 300, 620);

    </script>
<?php
    }
?>

上面的代码显示了当 $myvar 为空但 mypage.php 永远不会加载时的弹出窗口,加载 gif 永远不会停止转动并且 Firebug 显示指向 loader_frame.html 的“GB null”错误。

我也试过:

GB_show("Title", "mypage.php");

但同样的问题。

如果我做:

<a href="mypage.php" onclick="return GB_showCenter('Title', this.href , 300, 620)">Click here</a>

在页面的某处,我的弹出窗口没有问题,所以我知道文件已正确安装。

我究竟做错了什么?

非常感谢!

4

1 回答 1

1

我知道这很丑陋,但你可以试试它是否有效:

<?php
    if ($myvar==''){
?>
    <script>

        pathArr = window.location.pathname.split('/');
        path = window.location.protocol + "//" + window.location.host+"/";
        for (i=1;i<pathArr.length-1;i++) path += pathArr[i]+"/";

        GB_showCenter('Title', path+'mypage.php' , 300, 620);

    </script>
<?php
    }
?>

好的 - 另一个(更丑陋):

<?php
    if ($myvar==''){
?>
    <a href="mypage.php" onclick="return GB_showCenter('Title', this.href , 300, 620)" style="display: none;" id="myGreyBoxLink">Open GrayBox Window</a>
    <script>
        document.getElementById('myGreyBoxLink').onclick();
    </script>
<?php
    }
?>
于 2011-04-27T11:02:27.507 回答