在使用 jquery 加载 ajax 脚本时,我遇到了一些奇怪的行为。当我在我的计算机上本地运行此页面时,一切都很好,当我在线(在 DropBox 上)运行它时,它无法加载说(在控制台上)引用错误:sjcl 未定义。
这是页面(及其脚本):
<!DOCTYPE html><html lang="fr"><head><meta charset="utf-8"><title>Pack Résidanat — par @Anonyme</title><meta name="viewport" content="width=device-width, initial-scale=1.0"></head><body>
<font face="monospace"><div id="status"></div></font>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script>
$(function(){
$("#status").append("Chargement du décrypteur... ");
$.ajax({
url:"http://dl.dropboxusercontent.com/s/5tsysv6hmneaxop/foo.js",
type:"GET",
dataType:"script",
success:function(data){
$("#status").append("[OK]<br/>Chargement de la clé de cryptage... ");
$.ajax({
url:"http://dl.dropboxusercontent.com/s/70d5avb1s7s7shd/crkey.js",
type:"GET",dataType:"script",
success:function(data){
$("#status").append("[OK]<br/>Chargement du pack... ");
$.ajax({
url:"http://dl.dropboxusercontent.com/s/nxxpecpdci9gtbd/pack.js",
type:"GET",
dataType:"script",
success:function(data){
$("#status").append("[OK]<br/>Décryptage du pack...<br/>");
$("#status").fadeOut("slow",function(){document.write(unescape(sjcl.json.decrypt(crkey,pack)));});
},
error:function(data){
$("#status").append("[ERROR]<br/>Erreur lors du chargement du pack.");
}
});
},
error:function(data){
$("#status").append("[ERROR]<br/>Erreur lors du chargement de la clé de cryptage.");
}
});
},
error:function(data){
$("#status").append("[ERROR]<br/>Erreur lors du chargement du décrypteur.");
}
});
});
</script>
</body></html>
这是在线版本:http ://dl.dropboxusercontent.com/s/5o3r2bfknw93h62/pack.html
sjcl(Stanford Javascript Crypto Library http://crypto.stanford.edu/sjcl/)是在我第一次成功加载的 foo.js 文件中定义的。
foo.js 全局使用严格模式(“使用严格”)。
你能看出问题吗?
PS:对不起我的英语不好,可怜和丑陋..
奇怪的部分:
当页面和 foo.js 文件托管在同一台服务器上时,它无法加载 jquery ajax 说“成功”:
http://dl.dropboxusercontent.com/s/5o3r2bfknw93h62/pack.html http://copy.com/kqIL8nF0WQjX/pack2.html
当它们托管在不同的服务器上时,它可以正常工作(一个在 Dropbox 中,另一个在 Copy.com 中):
http://copy.com/tkGTmnJlJxS3/pack.html http://dl.dropboxusercontent.com/s/q3cnv2qdc7vjirh/pack2.html
有什么线索吗?