2014-12-06 70 views
1

劍道UI圖表API在ie9中無法正常工作,它在Chrome,Firefox和ie10中工作正常。我在ie9.simply頁面沒有得到任何異常刷新。請參閱下面的代碼不工作在IE9劍道圖導出到IE9中的PDF

$("#btnExportToPDFView").click(function() {   
      // Convert the DOM element to a drawing using kendo.drawing.drawDOM 
      kendo.drawing.drawDOM($(".content-wrapper")) 
      .then(function (group) { 
       // Render the result as a PDF file 
       return kendo.drawing.exportPDF(group, { 
        paperSize: "auto", 
        margin: { left: "1cm", top: "1cm", right: "1cm", bottom: "1cm" } 
       }); 
      }) 
      .done(function (data) { 
       // Save the PDF file 
       kendo.saveAs({ 
        dataURI: data, 
        fileName: "Reports.pdf" 
        //proxyURL: "http://demos.telerik.com/kendo-ui/service/export" 
       }); 
      }); 
     }); 
+0

考慮張貼最少的代碼量,不會在IE9工作,但會在其他工作。代碼問題更有可能得到關注和答案。 – Paul 2014-12-06 17:11:16

回答

3

劍道文檔here說,IE9需要使用你已經在你的代碼註釋掉proxyURL的。您將需要一項服務,可以「返回已設置的解碼文件」Content-Disposition「標題」。

這是一個Web服務的一個例子,你可以使用:

var response = System.Web.HttpContext.Current.Response; 
var request = System.Web.HttpContext.Current.Request; 

var fileName = request.Params["fileName"]; 
var contentType = request.Params["contentType"]; 
var encodedString = request.Params["base64"]; 
byte[] bytes = Convert.FromBase64String(encodedString); 

response.Clear(); 
response.ClearHeaders(); 
response.ContentType = contentType; 

response.AddHeader("Content-Disposition", "attachment; filename=\"" + fileName); 
response.OutputStream.Write(bytes,0,bytes.Length); 

response.Flush(); 
response.End();