0

目標是在CRM中的表單上的Web資源中使用網格控件。我決定使用KoGrid,因爲它可以很容易地綁定到我們已經具備的挖空視圖模型。麻煩的是在CRM環境中使用KoGrid導致IE 9完全停止響應。控制檯中沒有記錄異常或錯誤;唯一的症狀是瀏覽器鎖定。腳本凍結IE,除非在兼容性視圖中

將瀏覽器置於兼容模式可以修復問題,不幸的是,在IE 9中,文檔類型是繼承的,所以我們無法控制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

它不會「停止響應」,但我確實從https://raw.github.com/Knockout-Contrib/KoGrid/master/koGrid-2.1.1.debug獲得了「SEC7112:Script」。 js在IE9中因MIME類型不匹配而被阻止 –

+0

嘗試實際添加作爲單獨的網絡資源並確保其類型爲「JScript」 – wycleffsean

+0

mismatched mime。必須是來自法國的劇本。 – thang

回答

0

enter image description here確保所有的CSS和JavaScript文件都是網絡資源,或換出其他地方託管的完整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,以避免任何混合模式身份驗證。

+0

這不是依賴關係的問題。沒有錯誤,並且當瀏覽器處於兼容性視圖時,它可以正常工作。 – wycleffsean

+0

我添加了這個HTML網頁資源,添加了KoGrid css和js文件,然後指向了Microsoft CDN,它工作正常。 這是我的報頭: [ <鏈路HREF = 「new_ko_grid.css」 的rel = 「樣式表」/> ] –

+0

無賴,格式化在兩個CDN網址前都拿出了「https://」。確保包括這些。 –