假设我在主页上有链接, 以及下页的iFrame。
现在我需要在主页上建立该链接 将URL传递到下一页的iFrame(点击), 所以iFrame可以加载该URL。
如果不使用任何JS,我将如何处理?
我知道如何在一个页面上执行此操作,我点击一个链接,然后定位iFrame。 但是在两个不同的页面(通过URL)上这样做对我来说太高了。
提前致谢!
答案 0 :(得分:3)
粗略地说:
主页:
<a href="nextpage.php?link=http://example.com">nextpage</a>
Nextpage.php:
<iframe src="<?php echo $_GET['link'];?>"></iframe>
答案 1 :(得分:2)
你基本上有两种方法可以去:
只需创建一个链接,其链接为查询字符串
<a href="page_2.php?link=mylinkusediniframe.com">Cick</a>
然后检查PHP文件中的链接:
$link = $_GET['link'];
if (! preg_match("^(?:https?://)?(?:[a-z0-9-]+\.)*((?:[a-z0-9-]+\.)[a-z]+)", $link) ) {
$link = null;
}
最后打印出来:
<iframe src="<?php print $link; ?>">
在我发现它的地方很好地解释了正则表达式:https://stackoverflow.com/a/10435670/1456376
另一种选择是:
将网址存储在第一页的SESSION中
优点是,用户无法操纵显示的URL(只需更改地址栏中的URL,就可以使用第一个解决方案)。
在第一个文件中执行:
$_SESSSION['link'] = 'http://mylink.com';
在第二个输出它:
<iframe src="<?php print $_SESSION['link']; ?>">
答案 2 :(得分:1)
编辑: 我不明白iframe的窗口是否已经打开。如果它已经打开,那么你将需要我的方法,如果没有阅读Jevgeni Bogatyrjov方法,因为这是正确的。 您将需要查看Javascript,因为PHP无法帮助您完成该任务。 首先,您需要使用javascript打开新窗口,如下所示:
new_window = window.open("page2.php", "window2", "height=120");
然后,您可以将javascript函数从1个窗口调用到另一个窗口,如
new_window.test();
因此,如果新页面有iframe,则使用javascript可以使用类似
的函数更改iframe源代码<a href="#" onlclick="new_window.test('newpage.html');">Link</a>
在另一页上,您将使用url参数创建一个名为test的函数,然后使用新参数更改iframes源。
答案 3 :(得分:1)
您可以通过Get方法将地址从主页传递给iframe。 这是包含iframe的页面:http://www.page-with-iframe.php 这是您要传递的网址:http://www.url-for-iframe.php
您可以在主页中添加一个链接,其中“url-for-iframe”使用函数base64_encode编码。链接将是这样的:
http://www.page-with-iframe.php?link=2jhGe2R6Wd5nJcrJgLgFrS7dCWiloJKf
您可以在包含iframe的页面中使用base64_decode,并将获取的网址传递给它。
再见