在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>
在页面的某个地方,我有弹出窗口没有问题所以我知道文件已正确安装。
我做错了什么?
非常感谢!
答案 0 :(得分: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
}
?>