我确实看到关于这个主题有几个问题,但是我无法找到专门针对这种情况的答案。除了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>',