如何只允许一个iframe禁止将iframe插入另一个iframe

时间:2019-04-23 14:28:58

标签: javascript iframe

在页面上,假设test.html的以下代码正在生成iframe的

<iframe src='" + localStorage.getItem(z) + "' class='alink'></iframe>

iframe中的链接定义为/product-1 /product-2。现在由于购物车设置。发生以下情况。

用户加入site/test.html

一个iframe加载网址site/product-1

其他iframe加载了网址site/product-2

现在,

产品都已添加到购物车中,但购物车会自动重定向回test.html,然后再次加载iframe并将产品添加到购物车中。因此,这是一个循环,在购物车中添加了太多产品;-)

我无法更改重定向行为,因为它会弄乱客户习惯于使用网站的方式。所以我在想必须要有一种方法来嵌入iframe。

那我该如何只允许一个iframe并不允许另一个iframe进入

    // RETRIEVER

    (function ($) {
      $(document).ready(function(){
        let dummy = Object.keys(localStorage).filter(v => v.startsWith("LinkOrderURL"));
        dummy.forEach(z => $("body").append("<iframe src='" + localStorage.getItem(z) + "' class='alink'></iframe>"));
      });
    })(jQuery);

1 个答案:

答案 0 :(得分:0)

最终,我用这段代码封装了上面的代码,并使之生效。

if ( self !== top ) {
  // you're in an iframe
} else {
  // you're not in an iframe
}