GreyBox: вызов всплывающего окна внутри функции
В сценарии 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 ответ
Решение
Я знаю, что это ужасно, но вы можете попробовать, если это работает:
<?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
}
?>