0

目標は、CRM のフォームの Web リソースでグリッド コントロールを使用することです。KoGrid を選択したのは、すでに用意されていたノックアウト ビュー モデルに簡単にバインドできるからです。CRM コンテキストで KoGrid を使用すると、IE 9 が完全に応答しなくなるという問題が発生します。コンソールに記録される例外やエラーはありません。唯一の症状は、ブラウザがロックすることです。

ブラウザーを互換モードにすると問題が解決しますが、残念ながら IE 9 では doctype が継承されるため、Web リソースのレンダリング モードを制御できません。また、これは実際には原因ではなく症状を修正するだけです。

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
    <link href="../css/KoGrid.css" rel="stylesheet" />
    <script src="../js/jquery_1.8.3.min.js"></script>
    <script src="../js/knockout.js"></script>
    <script src="../js/koGrid_2.1.1.js"></script>
    <style type="text/css">
        .gridStyle {
            border: 1px solid rgb(212,212,212);
            width: 400px; 
            height: 300px;
        }
    </style>
</head>
<body>
    <script type="text/javascript">
        $(function () {
            setTimeout(function () {
                debugger;
                function mainVm() {
                    var self = this;
                    this.myData = ko.observableArray([{ name: "Moroni", age: 50 },
                                                      { name: "Tiancum", age: 43 },
                                                      { name: "Jacob", age: 27 },
                                                      { name: "Nephi", age: 29 },
                                                      { name: "Enos", age: 34 }]);
                    this.gridOptions = {
                        canSelectRows: false,
                        multiSelect: false,
                        data: self.myData
                    };
                };
                ko.applyBindings(new mainVm());
            }, 3000);            
        });

    </script>

    <div class="gridStyle" data-bind="koGrid: gridOptions"></div>
</body>
</html>

http://jsfiddle.net/wycleffsean/yHrBA/2/

CRM のみでこの動作が発生する原因は何ですか? すべてのブラウザで単独で正常に動作します。レンダリング モードはスクリプトの動作とどのような関係がありますか?

4

1 に答える 1

0

ここに画像の説明を入力すべての CSS ファイルと JavaScript ファイルも Web リソースであることを確認するか、別の場所でホストされている完全な URL を交換してください。

<link href="../css/KoGrid.css" rel="stylesheet" />
<script src="../js/jquery_1.8.3.min.js"></script>
<script src="../js/knockout.js"></script>
<script src="../js/koGrid_2.1.1.js"></script>

CDN を参照する場合は、必ず HTTPS を使用して混合モード認証を回避してください。

于 2013-01-23T17:25:38.773 に答える