使用 JSzip 时未定义 saveAs
saveAs is not defined when using JSzip
我在尝试执行简单的 jszip 时遇到错误
Uncaught (in promise) ReferenceError: saveAs is not defined
很确定我包含了所有正确的文件,所以我不确定我做错了什么,有人能告诉我吗?
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Download</title>
<link rel="stylesheet" href="css/download.css">
<script type="text/javascript" src="jszip/dist/jszip.js"></script>
<script type="text/javascript" src="https://stuk.github.io/jszip-utils/dist/jszip-utils.js"></script>
<script src='https://code.jquery.com/jquery-2.2.4.min.js'></script>
<script src="js/download.js"></script>
<link href="https://fonts.googleapis.com/css?family=Josefin+Sans" rel="stylesheet">
</head>
<body>
<div class="maindiv">
<header>
<a href="index.html" class="company">Instasample</a>
<a href="login" class="login">Login</a>
</header>
<div class="soulection">
<button id="kick" onclick="download(this.id)" >kick</button>
<button id="snare" onclick="download(this.id)" >snare</button>
<button id="hat" onclick="download(this.id)" >hat</button>
<button id="open hat" onclick="download(this.id)" >open hat</button>
<button id="rim" onclick="download(this.id)" >rim</button>
<button id="perc" onclick="download(this.id)" >perc</button>
<button id="tom" onclick="download(this.id)" >tom</button>
<button id="clap" onclick="download(this.id)" >clap</button>
<button id="foley" onclick="download(this.id)" >foley</button>
<button id="ambient" onclick="download(this.id)" >ambient</button>
<button id="effects" onclick="download(this.id)" >effects</button>
<button id="vocal" onclick="download(this.id)" >vocal</button>
<button id="synth" onclick="download(this.id)" >synth</button>
<button id="808" onclick="download(this.id)" >808</button>
<button id="bass" onclick="download(this.id)" >bass</button>
<button id="sample" onclick="download(this.id)" >sample</button>
</div>
</div>
</body>
<script type="text/javascript">
(function () {
var zip = new JSZip();
zip.file("Hello.txt", "Hello world\n");
function bindEvent(el, eventName, eventHandler) {
if (el.addEventListener){
// standard way
el.addEventListener(eventName, eventHandler, false);
} else if (el.attachEvent){
// old IE
el.attachEvent('on'+eventName, eventHandler);
}
}
// Blob
var blobLink = document.getElementById('kick');
if (JSZip.support.blob) {
function downloadWithBlob() {
zip.generateAsync({type:"blob"}).then(function (blob) {
saveAs(blob, "hello.zip");
}, function (err) {
blobLink.innerHTML += " " + err;
});
return false;
}
bindEvent(blobLink, 'click', downloadWithBlob);
} else {
blobLink.innerHTML += " (not supported on this browser)";
}
})();
</script>
<footer>
<a href="mailto:garvernr@mail.uc.edu?Subject=Hey%20Instasample" class="bottom">contact</a>
<t class="bottomline"> | </t>
<a href="https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=5LC9QK23C9M28" class="bottom2">donate</a>
<t class="bottomline"> | </t>
<t class="bottom3">© 2016</t>
</footer>
</html>
他们的例子中有一条评论:
// see FileSaver.js
如果你想使用 saveAs()
,你需要那个模块
在 HTML
中添加以下脚本标签后有效
<script src="https://cdnjs.cloudflare.com/ajax/libs/FileSaver.js/1.3.8/FileSaver.js"></script>
我在尝试执行简单的 jszip 时遇到错误
Uncaught (in promise) ReferenceError: saveAs is not defined
很确定我包含了所有正确的文件,所以我不确定我做错了什么,有人能告诉我吗?
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Download</title>
<link rel="stylesheet" href="css/download.css">
<script type="text/javascript" src="jszip/dist/jszip.js"></script>
<script type="text/javascript" src="https://stuk.github.io/jszip-utils/dist/jszip-utils.js"></script>
<script src='https://code.jquery.com/jquery-2.2.4.min.js'></script>
<script src="js/download.js"></script>
<link href="https://fonts.googleapis.com/css?family=Josefin+Sans" rel="stylesheet">
</head>
<body>
<div class="maindiv">
<header>
<a href="index.html" class="company">Instasample</a>
<a href="login" class="login">Login</a>
</header>
<div class="soulection">
<button id="kick" onclick="download(this.id)" >kick</button>
<button id="snare" onclick="download(this.id)" >snare</button>
<button id="hat" onclick="download(this.id)" >hat</button>
<button id="open hat" onclick="download(this.id)" >open hat</button>
<button id="rim" onclick="download(this.id)" >rim</button>
<button id="perc" onclick="download(this.id)" >perc</button>
<button id="tom" onclick="download(this.id)" >tom</button>
<button id="clap" onclick="download(this.id)" >clap</button>
<button id="foley" onclick="download(this.id)" >foley</button>
<button id="ambient" onclick="download(this.id)" >ambient</button>
<button id="effects" onclick="download(this.id)" >effects</button>
<button id="vocal" onclick="download(this.id)" >vocal</button>
<button id="synth" onclick="download(this.id)" >synth</button>
<button id="808" onclick="download(this.id)" >808</button>
<button id="bass" onclick="download(this.id)" >bass</button>
<button id="sample" onclick="download(this.id)" >sample</button>
</div>
</div>
</body>
<script type="text/javascript">
(function () {
var zip = new JSZip();
zip.file("Hello.txt", "Hello world\n");
function bindEvent(el, eventName, eventHandler) {
if (el.addEventListener){
// standard way
el.addEventListener(eventName, eventHandler, false);
} else if (el.attachEvent){
// old IE
el.attachEvent('on'+eventName, eventHandler);
}
}
// Blob
var blobLink = document.getElementById('kick');
if (JSZip.support.blob) {
function downloadWithBlob() {
zip.generateAsync({type:"blob"}).then(function (blob) {
saveAs(blob, "hello.zip");
}, function (err) {
blobLink.innerHTML += " " + err;
});
return false;
}
bindEvent(blobLink, 'click', downloadWithBlob);
} else {
blobLink.innerHTML += " (not supported on this browser)";
}
})();
</script>
<footer>
<a href="mailto:garvernr@mail.uc.edu?Subject=Hey%20Instasample" class="bottom">contact</a>
<t class="bottomline"> | </t>
<a href="https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=5LC9QK23C9M28" class="bottom2">donate</a>
<t class="bottomline"> | </t>
<t class="bottom3">© 2016</t>
</footer>
</html>
他们的例子中有一条评论:
// see FileSaver.js
如果你想使用 saveAs()
在 HTML
中添加以下脚本标签后有效<script src="https://cdnjs.cloudflare.com/ajax/libs/FileSaver.js/1.3.8/FileSaver.js"></script>