Kiedy dostępna jest dynamicznie ładowana biblioteka JavaScript?

Napisałem bibliotekę JavaScript do użyciaFileSaver.js i związane z nią biblioteki. Nie chcę jednak zawsze ładować pliku FileSaver.js, gdy ktoś chce korzystać z mojej biblioteki. I nie chcę zmuszać ich do ładowania wszystkich różnych bibliotek JavaScript związanych z FileSaverscript tagi same (lub nawet ładują jedną z moich, która by to zrobiła).

Zamiast tego wolę coś takiego. Kiedy dzwonią do mniecreateImage funkcja, najpierw wykonuje następujące czynności:

function createImage(image, name) {
  if (typeof(saveAs) !== 'function') {
    var element = document.createElement('script');
    element.async = false;
    element.src = 'FileSaver.js';
    element.type = 'text/javascript';
    (document.getElementsByTagName('head')[0]||document.body).appendChild(element);
  }
  // now do the saveImage code
}

Problemem jest po tymsaveAs funkcja nie jest jeszcze zdefiniowana. To tylkopo mójcreateImage kończy sięsaveAs funkcja ostatecznie zdefiniowana.

questionAnswers(5)

yourAnswerToTheQuestion