GreyBox: вызов всплывающего окна внутри функции - PullRequest
2 голосов
/ 27 апреля 2011

В 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 показывает ошибку «GB null», указывающую на loader_frame.html.

Я также пробовал:

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

, но та же проблема.

Если я сделаю:

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

где-то на странице, у меня есть всплывающее окно без проблем, поэтому я знаю, что файлы установлены правильно.

Что я делаю не так?

Спасибо большое!

1 Ответ

1 голос
/ 27 апреля 2011

Я знаю, что это ужасно, но вы можете попробовать, если это работает:

<?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
    }
?>
...