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.