6

我正在尝试在我正在构建的网站上使用 Chrome-Frame。在 IE8 及更低版本中,一切正常...在 IE9 中出现此错误:

SCRIPT5: Access is denied.
cf-dlpage.js, line78 character 209

不知道该怎么办!

这是触发行为的条件:

<!--[if lte IE 9]>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/chrome-frame/1/CFInstall.min.js"></script>
  <style>
        body {
            overflow-y:hidden;
        }
      .chromeFrameOverlayContent {
            border:none;
            overflow:hidden;            
        }
      .chromeFrameOverlayContent iframe {
            border:none;
            overflow:hidden;
        }
      .chromeFrameOverlayCloseBar {
            display:none;
        }
      .chromeFrameOverlayUnderlay {
            background-image:url(/img/bg.png);
            opacity: 1;
            filter: alpha(opacity = 100);
        }

  </style> 
  <script type="text/javascript">
    window.onload = function() {
        CFInstall.check({
            url: "/fix/update.html",
            mode: "overlay",
            destination: "/"
        });
    };
  </script> 
  <![endif]-->

非常感谢任何帮助!

4

2 回答 2

1

试试这个,听起来它与你的问题有关。我希望它有帮助。阅读来自 erikwright@chromium.org 的评论,是现在的最后一条评论。

于 2012-08-06T22:12:16.437 回答
0

问题是由此引起的:

  1. 您的页面已开启www.example.com
  2. 安装例程创建一个iframe带有 urlwww.google.com/...
  3. iframe页面本身执行 Javascript 并尝试读取window.parent,但是...
  4. ...这是不允许的,因为两个框架都有不同的域。

唯一的解决方案似乎是:

  1. 创建自己的安装脚本
  2. 谷歌修复了他们的脚本

我浪费了一整天的时间来解决这个问题(嵌套框架、自定义脚本、通过我的服务器路由 Google 请求……),直到我明白为什么Google 似乎忽略了这个错误:

大多数人根本没有注意到这个问题。无论此错误如何,安装都会成功执行。要真正获得消息框,您必须启用 Javascript 调试或显示 Javascript 错误功能。

你和我启用了上述功能,因为我们是开发人员,所以我们自然会吓坏,但普通乔不会注意到任何事情。

于 2013-02-11T13:39:49.403 回答