繁体   English   中英

我可以使用PHP获取iframe父窗口的URL吗?

[英]Can I Get the url of iframe parent window with PHP?

我在网页上有一个iframe,而我想从iframe获取父窗口的网址。 是的,我一直在网上搜索,但我一直在用JavaScript获得解决方案。

你们这些人知道任何只使用PHP的解决方案吗?

如果没有客户端显式发送数据,服务器端脚本无法知道客户端的任何信息,例如使用AJAX。

如果您可以控制iframe本身,则可以始终在查询字符串中传递变量并使用$_GET访问它们:

HTML

<iframe src="http://example.com/file.php?variable=value"></iframe>

PHP

<?php

    echo $_GET['variable'] // Outputs 'value'

?>

更新(这可能实际上是可能的)

可能有一种使用$_SERVER['HTTP_REFERER'] 包含iframe的HTML文件在请求文件时会发送一些标头,其中一个标头似乎是HTTP_REFERER。 我在本地测试了它,它似乎工作。

唯一的缺点是你不知道引用者是否是iframe。 同样,如果你可以控制iframe,你可以使用上面的方法传递一个变量,说它是一个iframe,并使用下面的方法动态获取URL。

例如,假设此文件的URL为http://example.com/

<iframe src="http://example.com/file.php"></iframe>

PHP文件,我们称之为file.php:

<?php
    echo $_SERVER['HTTP_REFERER']; // Should output http://example.com.
?>

我有同样的问题,我在iframe中运行搜索例程,并希望能够从其他页面创建链接,以自动执行所述iframe的搜索功能。

阅读完所有'只能在javascript中完成'我用过这个:

$topurl=$_SERVER['HTTP_REFERER'];
$q=substr($topurl,strpos($topurl,'=')+1);

原油但对我的需求有效。 我知道你可以搞定并打破网址的所有参数,但我只需要一个搜索词。

这不会起作用,你可以使用JavaScript。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM