【问题标题】:Cross Frame Scripting in iframesiframe 中的跨框架脚本
【发布时间】:2012-05-15 07:23:48
【问题描述】:

我有一个 jsp 页面。它有 3 个 i 帧。我遇到了一个跨框架脚本问题。我可以将任何其他域的页面加载到我的 i-frame 中。你能告诉我如何克服这个问题吗? 我试过以下代码:

             <style>
                html{display : none ; }
            </style>
            <script>
                if( self == top ) {
                    document.documentElement.style.display = 'block' ;
                } else {
                    top.location = self.location ;
                }


            </script>

我还尝试了一个过滤器,它添加了标题“X-FRAME-OPTIONS”,SAMEORIGIN

两者都不工作。

【问题讨论】:

    标签: javascript java dom-events jspx


    【解决方案1】:

    对于加载到 iframe 的不同来源的 html 页面,您无法访问该页面的窗口或任何其他对象。

    对于从不同来源加载到 iframe 的 html 页面之间的通信,您必须使用“postMessage”功能。有关详细信息和示例 google postMessage in javascript,您可以获得大量教程。

    【讨论】:

      【解决方案2】:

      试试这个脚本,它不会让您的网页在其他域的 iframe 中使用。

      function bust() {
          var urlRefer = (window.location != window.parent.location) ? document.referrer: document.location;
          var envName = window.location.hostname;
          var envNameNew = new RegExp(envName);
          if (!(envNameNew.test(urlRefer))) {
              window.top.location="http://"+envName;  
          }
      }
      bust();
      

      【讨论】:

        猜你喜欢
        • 2011-03-06
        • 1970-01-01
        • 1970-01-01
        • 2014-07-26
        • 2011-03-24
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多