除非在兼容性视图中,脚本冻结IE

时间:2013-01-23 15:21:23

标签: knockout.js internet-explorer-9 dynamics-crm-2011 dynamics-crm kogrid

目标是在CRM中的表单上的Web资源中使用网格控件。我决定使用KoGrid,因为它可以很容易地绑定到我们已经拥有的淘汰视图模型。麻烦是在CRM上下文中使用KoGrid导致IE 9完全停止响应。控制台中没有记录任何异常或错误;唯一的症状是浏览器锁定。

将浏览器置于兼容模式可以解决问题,遗憾的是在IE 9中继承了doctypes,因此我们无法控制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中导致此行为?它在每个浏览器中都能正常工作。渲染模式与脚本行为有什么关系?

0 个答案:

没有答案