Check if page is embeded

时间:2016-11-24 作者:Rafal

我正在尝试设置条件来检查页面是否嵌入了iFrame,但我知道的所有方法都行不通。我将Woocommerce单一产品页面嵌入到自定义模板中,其中只加载必要的脚本和样式(模板的加载取决于字符串查询)。

问题是,我只想在存在特定查询字符串时更改“添加到购物车”消息。if(isset($_GET[\'embed_act\'])) {} 不起作用,而且get_permalink() 返回空字符串。

是否有人知道如何检查查询字符串的存在,或者至少是否在iframe中加载了页面?

1 个回复
最合适的回答,由SO网友:jgraup 整理而成

服务器不知道客户机对输出做了什么,因此,您只能假设什么。在请求、referer、当前uri和标头中可能会发送参数,也可能不会发送参数。

  • $_REQUEST[\'embed_act\']
  • $_SERVER[\'HTTP_REFERER\']
  • $_SERVER[\'REQUEST_URI\']
  • get_headers()possible.

    if(self==top)
    {
        //...
    }
    
    if( parent==top )
    {
        //...
    }
    

相关推荐

Disable automatic embed links

在当前的wordpress版本(5.2..)上有什么方法吗,要打开自动嵌入链接(wp embed.min.js),这会将url转换为iframe吗?我尝试过插件、代码片段和函数。php。。。很明显,对于wp的最新版本,它们都不再有效。