方案
我在iFrame源和网站上使用相同的网址。
主要网址为:https://www.disciplinexgames.com/beta/index
在iFrame中,它是:< iframe src="https://www.disciplinexgames.com/beta/index?key=YW41y7o0ejxWVVWv7tGOv1eZMdsdew&an=pactpro&uname=mark@example.com&web=www.pactpro.net">< /iframe>
Iframe适用于希望在自己的网站上提供服务的合作伙伴,在本例中为http://www.pactpro.net。主URL用于我们自己的用户浏览平台。
因此前端和后端的代码对于两者都是相同的,在iFrame中我们只更改了我们的合作伙伴提供的徽标,名称,背景颜色等。
问题
问题是第一次加载iFrame时,我可以使用$_REQUEST
或$_GET
从网址获取以下内容。但是当用户进入iFrame中的其他页面时,$_GET['key']
返回空白,因此无法从URL获取数据。
key=YW41y7o0ejxWVVWv7tGOv1eZMdsdew
an=pactpro
uname=mark@example.com
web=www.pactpro.net
我们第一次可以从 iFrame src 获取每个页面上的数据。 iFrame源始终保持不变,但是当从iFrame源获取数据时,它返回空白。
我非常感谢您对此的指导。
答案 0 :(得分:0)
关于我的评论,请看一下这个函数
<?php
function hyperlink($url, Array $persist, Array $source) {
$variables = array();
foreach ($persist as $key)
{
if (isset($source[$key]))
{
$variables[$key] = $source[$key];
}
}
return $url.'?'.http_build_query($variables);
}
在您的模板上,每次要输出URL时都必须执行
<?php echo hyperlink('http://example.com', $iframe_vars, $_GET); ?>
$iframe_vars
必须是一个数组,其中包含您与iframe一起使用的变量的名称,并且必须在请求之间保留
<?php
$iframe_vars = array('key','an','uname','web');
答案 1 :(得分:-1)
iframe中的网站必须在看到您的$ GET参数时设置Cookie并在下次请求时检查Cookie
修改强>
如果网站位于iframe中,您还可以使用javascript更改所有链接以添加密钥。
if (window!=window.top){
var list = document.getElementsByTagName('a');
[].forEach.call(list, function(el){
el.href += el.href.indexOf('?')>0 ? '&key=yourKey' : '?key=yourKey';
});
}