维护iframe上下文

时间:2011-08-25 22:59:27

标签: php

我的第一篇帖子!我的问题主要涉及iframe和php

所以...... PHP无法检查是否通过iframe请求了一个页面。这个问题似乎被提出(并回答了很多),但是可以创建一个“iframe上下文”并在iframe中的整个导航中维护该上下文吗?

例如:

<iframe src="/my/url?location=iframe"></iframe>

我们最初可以检查($ _GET ['location'] =='iframe')

然而,随着导航的进行,您可以想象会发生什么。链接是点击,表单已提交,并且它们不一定具有?location = iframe。

所以,我正在试图弄清楚如何创建一个以上面的url参数开头并且仅在iframe中保留的初始上下文。

为了清楚起见,在我的示例中,iframe包含来自同一网站的网页。

感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

您可以将其放入文档就绪函数中,并将#iframe作为哈希添加到页面上的所有链接。然后使用php检查哈希

$('a').each(function(){
    this.attr('href',this.attr('href')+'#iframe');
});

答案 1 :(得分:1)

如果您在iframe中加载初始网址时将其设置为/iframe/my/url,如果不加载/my/url,则该怎么办?

  • 在文档根目录中创建一个名为“iframe”的符号链接(或NTFS联结),指向您的文档根目录并解析$_SERVER['PHP_SELF']
  • 使用mod_rewrite重写网址,使其指向正确的位置,并在其上标记location=iframe#iframe

第一个选项可能是最好的,尽管你的所有路径都必须相对。这意味着您的所有路径都将保留在/iframe/路径中,您永远不需要更改链接 - 所有内容都会为您处理。