2016-05-17 25 views
1

這是一個非常愚蠢和業餘的問題,但我在我的演示網站中使用了Telerik的CDN,它除了IE, 以外都可以工作,我想知道爲什麼會發生這種情況。Telerik cdn爲什麼不能在IE中使用?

我像包括

<link rel="stylesheet" href="//kendo.cdn.telerik.com/2016.1.412/styles/kendo.common-material.min.css" /> 
<link rel="stylesheet" href="//kendo.cdn.telerik.com/2016.1.412/styles/kendo.material.min.css" /> 
<link rel="stylesheet" href="http://kendo.cdn.telerik.com/2016.1.412/styles/kendo.mobile.all.min.css" />  
<script src="//kendo.cdn.telerik.com/2016.1.412/js/jquery.min.js"></script> 
<script src="//kendo.cdn.telerik.com/2016.1.412/js/kendo.all.min.js"></script> 

所有文件正如你可以看到我試圖做它像他們在道場的例子做了,我也嘗試添加的「http://」,但仍是文件唐」 t似乎在IE中加載,我想知道爲什麼會發生這種情況,因爲其他地方的代碼似乎運行得非常完美,如果我給它一個本地源,它也適用於IE,我只是想知道爲什麼CDN不能在IE中工作,我錯過了一些非常基本的東西?

的代碼的其餘部分是

<%-- Main Body --%> 
<form id="form1" > 
    <div id="grid"></div> 
</form> 
<%--End of Main Body --%> 
<%-- Scripts --%> 
<script> 

    var crudServiceBaseUrl = "http://localhost:50371/api"; 
    $(document).ready(function() { 
     var dataSource = new kendo.data.DataSource({ 
      change: function (e) { 
       if (e.action == "itemchange") { 
        if (e.field == "MonthsOfSalary" || e.field == "Salary") { 
         var item = e.items[0]; 
         item.trigger("change", { field: "NetSalary" }) 
        } 
       } 

      }, 
      transport: { 
       read: { 
        url: crudServiceBaseUrl + "/CarDetails/GetCarDetails", 
        dataType: "json", 
        type: "GET" 
       }, 
       update: { 
        url: crudServiceBaseUrl + "/CarDetails/UpdateCarDetails", 
        dataType: "json", 
        contentType: "application/json", 
        type: "POST", 
        contentType: "application/json; charset=utf-8", 
        data: function (data) { 
         return data.models; 
        } 
       }, 
       destroy: { 
        url: crudServiceBaseUrl + "/CarDetails/DeleteCarDetails", 
        dataType: "json", 
        type: "POST", 
        contentType: "application/json; charset=utf-8", 
        data: function (data) { 
         return data.models; 
        } 
       }, 
       create: { 
        url: crudServiceBaseUrl + "/CarDetails/AddCarDetails", 
        dataType: "json", 
        type: "POST", 
        contentType: "application/json; charset=utf-8", 
        data: function (data) { 
         return data.models; 
        } 
       }, 

       parameterMap: function (data, operation) { 
        if (operation === "update" || operation === "create" || operation === "destroy") { 
         return JSON.stringify(data.models); 
        } 
        return data; 
       } 
      }, 
      batch: true, 

      schema: { 
       model: { 
        id: "DetailId", 
        Total: function() { 
         return this.get("MonthsOfSalary") * this.get("Salary"); 
        }, 
        fields: { 
         "DetailId": { editable: false, type: "number", nullable: false, validation: { required: true } }, 
         "CarsId": { editable: false, type: "number", nullable: false, defaultValue: 1, validation: { required: true } }, 
         "FirstName": { type: "string", nullable: false, validation: { required: true, required: { message: "Enter a First Name" } }, defaultValue: "First" }, 
         "LastName": { type: "string", nullable: false, validation: { required: true, required: { message: "Enter a Last Name" } }, defaultValue: "Last" }, 
         "PhoneNumber": { type: "number", nullable: false, validation: { required: true, min: 1000000000, max: 9999999999, required: { message: "Entera ten digit number" } }, defaultValue: 1111111111 }, 
         "Email": { type: "string", nullable: false, validation: { email: true, email: { message: "Enter Email in [email protected] Format" }, required: true, required: { message: "Enter an Email" } }, defaultValue: "[email protected]" }, 
         "MonthsOfSalary": { type: "number", nullable: false, validation: { required: true, min: 1, max: 48, required: { message: "Enter a number between 1 & 48" } }, defaultValue: 1 }, 
         "Salary": { type: "number", nullable: false, validation: { required: true, min: 1, max: 10000000, required: { message: "Enter a number between 1 & 1,00,00,000" } }, defaultValue: 1 }, 
         "NetSalary": { editable: false, type: "number", nullable: false, validation: { required: true, min: 1, max: 480000000, required: { message: "Enter a number between 1 & 48,00,00,000" } }, defaultValue: 1 }, 
         "CarName": { editable: true, type: "string", nullable: false, validation: { required: true }, defaultValue: "Ford" }, 
         "CarColor": { editable: false, type: "string", nullable: false, validation: { required: true }, defaultValue: "Red" }, 
         "BirthDate": { type: "date", nullable: false, validation: { required: true, required: { message: "Enter a Date" }, min: new Date(1989, 01, 01), max: new Date(), date: { message: "Enter a Valid Date" } }, defaultValue: new Date() }, 
         "Car": { nullable: false }, 
        } 
       } 
      } 
     }); 
     $(function() { 


      var cars = []; 

      $.get(crudServiceBaseUrl + "/Cars/GetCars", function (data, status) { 

       cars = data; 
      }); 
      $("#grid").kendoGrid({ 
       dataSource: dataSource, 
       excel: { 
        fileName: "Kendo UI Grid Export.xlsx", 
        filterable: true 
       }, 
       navigatable: true, 
       pageable: false, 
       height: 550, 
       navigatable: true, 
       groupable: true, 
       filterable: true, 
       columnMenu: true, 
       reorderable: false, 
       resizable: true, 
       sortable: true, 
       toolbar: ["create", "save", "cancel", "excel"], 
       columns: [ 
          { 
           field: "CarName", title: "Car", 
           editor: function (container, options) { 
            $('<input data-text-field="Name" data-value-field="Name" data-bind="value:' + options.field + '"/>').appendTo(container).kendoDropDownList({ 
             dataSource: { 
              data: cars 
             }, 
             dataValueField: "Color", 
             dataTextField: "Name", 
             autobind: true, 
            }); 
           } 
          }, 
          { title: "First Name", field: "FirstName" }, 
          { title: "Last Name", field: "LastName" }, 
          { title: "Phone Number", field: "PhoneNumber" }, 
          { title: "Email", field: "Email" }, 
          { title: "Months", field: "MonthsOfSalary" }, 
          { title: "Salary", field: "Salary" }, 
          { title: "Net Salary", field: "NetSalary", template: "#=Total() #"}, 
          { title: "Joining Date", field: "BirthDate", format: "{0:dd MMM yyyy}" }, 
           { 
            title: "Select", 
            template: "<input type='checkbox' />" 
           }, 
          { command: [{ name: "destroy", text: "" }] } 
       ], 
       editable: { 
        editable: true, 
        confirmation: true 
       }, 
      }); 
     }); 

    }); 

</script> 
<%-- End of Scripts --%> 

我添加了鏈接在<head>標籤和代碼是在<body>標籤,我刪除了簡潔一些額外的代碼。

+0

沒有它的工作更多的信息,請訪問?還有其他的錯誤嗎? –

+1

是的,它工作非常好!謝謝 –

回答

2

從官方網站Telerik的

劍道部件提供WAI-ARIA的支持,這意味着一些 ARIA特定的屬性添加到HTML元素。當 嘗試添加使用jQuery的ATTR方法,該方法在 依次調用Element.setAttribute方法時,Internet Explorer在 兼容模式將引發JavaScript錯誤有以下 消息的ARIA屬性的部件:

SCRIPT3:找不到成員(在兼容性爲 模式的Internet Explorer 10+中)向Microsoft報告問題 https://connect.microsoft.com/IE/feedback/details/774078。 也是一個jQuery的bug報告,可以找到更多的信息。

解決方案:

選項1 - 強制Internet Explorer以使用EDGE模式:在頭部分,因此它使瀏覽器使用最新版本的Internet Explorer邊緣模式添加此下面一行

<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" /> 

選項2 - 路徑jQuery。該錯誤鏈接在這裏Bug Link


對於這裏Official Telerik

相關問題