2016-03-06 18 views
0

試圖使用jsPDF我收到錯誤jspdf和CKEditor的 - .createObjectURL不是一個函數

Error in function saveAs: n(...).createObjectURL is not a function 

我的代碼很簡單:

HTML

<button class="generatePdf"> click me </button> 

JS

//Generate PDF 
    $(document).on('click', '.generatePdf', function() { 
     var doc = new jsPDF(); 
     doc.text(20,20,'Some dummy text'); 
     doc.save('print.pdf') 
    }); 

我用它在Laravel與鮑爾和藥劑(大口),但我得到了同樣的錯誤:使用

<script src="http://mrrio.github.io/jsPDF/dist/jspdf.debug.js"></script> 

我接受的替代jsPdf如果你有任何

Error in function [email protected]://mrrio.github.io/jsPDF/dist/jspdf.debug.js:5875:18: get_URL(...).createObjectURL is not a function 

如果。 它發生在這兩個火狐44.0.2和鉻48.0.2564.116

+0

我在看這個https://github.com/eligrey/FileSaver.js/issues/143,發現問題是CKEditor已經定義了'URL'對象。評論出ckeditor使一切工作。但是我需要CKEditor,所以我仍然在研究這個。 – dbr

回答

0

閱讀this問題後,我插在給定的代碼

<script>(function() { 
      var _createObjectURL = window.URL.createObjectURL; 
      Object.defineProperty(window.URL, 'createObjectURL', { 
       set: function (value) { 
        console.trace('set createObjectURL') 
        _createObjectURL = value; 
       }, 
       get: function() { 
        console.trace('get createObjectURL') 
        return _createObjectURL; 
       } 
      }) 
     })(); 
     (function() { 
      var _URL = window.URL; 
      Object.defineProperty(window, 'URL', { 
       set: function (value) { 
        console.trace('set URL') 
        _URL = value; 
       }, 
       get: function() { 
        console.trace('get URL') 
        return _URL; 
       } 
      }) 
     })(); </script> 

,發現問題是在eqneditor插件CKEditor。我刪除了插件,一切正常。