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、URLを使用してを作成しますwww.google.com/...
  3. iframeページ自体がJavascriptを実行して読み込もうとしますが、window.parent...
  4. ...両方のフレームのドメインが異なるため、これは許可されていません。

唯一の解決策は次のようです。

  1. 独自のインストールスクリプトを作成する
  2. Googleはスクリプトを修正します

この問題(ネストされたフレーム、カスタムスクリプト、サーバーを介したGoogleリクエストのルーティングなど)を回避しようとして1日を無駄にしましたが、Googleがこのバグを無視しているように見える理由がわかりました。

ほとんどの人は単に問題に気づいていません。このエラーに関係なく、インストールは正常に実行されます。実際にメッセージボックスを取得するには、JavascriptデバッグまたはJavascriptエラーの表示機能を有効にする必要があります。

あなたと私は開発者であるため、上記の機能を有効にしました。当然、私たちはびっくりしますが、平均的なジョーは何も気づきません。

于 2013-02-11T13:39:49.403 に答える