我确实看到关于这个主题有几个问题,但是我无法找到专门针对这种情况的答案。除了fancybox 中包含的内容外,我没有编写任何javascript/jquery,因为我不知道它们。
我正在用 PHP 编写网站。我有一个打开fancybox iframe 的按钮,它只是一个php 页面。该 iframe 需要来自单击它的页面的变量。
我试图将它放在 URL 中并使用 $_GET,但是当通过fancybox 打开时,我得到一个空白页。手动导航到 iframe 应该打开的页面。
有任何想法吗?
编辑:添加了以前尝试的代码
<a class='fancybox fancybox.iframe' href='ban.php'><button type='button' class='btn btn-danger btn'><i class='icon-remove icon-white'> </i>Ban User</button></a>
iframe 就是这样创建的,没有什么特别的,只是一个带有超链接的引导按钮。
<a class="fancybox fancybox.iframe" href="ban.php?client=<?php echo $clientid?>"><button type="button" class="btn btn-danger btn"><i class="icon-remove icon-white"> </i>Ban User</button></a>
我想使用 $_GET 方法并做这样的事情,但我得到一个空白页。我发现当您在fancybox 中向URL 添加问号时 - 它会使页面变为空白。Chrome 的控制台留下这条消息:“阻止了一个带有来源的框架“ http://yourwebsitehere.com ”访问一个来源为“null”的框架。请求访问的框架有一个协议“http”,被访问的框架有一个协议“数据”。协议必须匹配。
<?php
$goodURL = "ban.php" . urlencode("?client=" . $clientid);
echo "<a class='fancybox fancybox.iframe' href='$goodURL'><button type='button' class='btn btn-danger btn'><i class='icon-remove icon-white'> </i>Ban User</button></a>"?>
所以我尝试了这个,以解决问号问题 - 但我现在得到“您无权访问此服务器上的 /ban.php?client=2”。
编辑 2:添加了 iframe 内容,第二段代码不会在 fancybox 弹出窗口中生成实际的 iframe。
从最后一个结果生成的 iframe
<iframe id="fancybox-frame1377582210185" name="fancybox-frame1377582210185" class="fancybox-iframe" frameborder="0" vspace="0" hspace="0" webkitallowfullscreen="" mozallowfullscreen="" allowfullscreen="" scrolling="no" src="ban.php%3Fclient%3D2"></iframe>
这就是fancybox生成iframe的方式
<iframe id="fancybox-frame{rnd}" name="fancybox-frame{rnd}" class="fancybox-iframe" frameborder="0" vspace="0" hspace="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen' + (IE ? ' allowtransparency="true"' : '') + '></iframe>',