我在文档就绪函数中使用点击监听器。每个点击监听器中都有一个冗长的代码。为了方便起见,我创建了一个单独的 java 脚本文件,并将单击监听器放置在该文件中,并在我的文档中加载了该脚本。现在 Mozilla 给了我这个错误
not well-formed
这是我正在使用的确切代码
// ChangePasswordProcess.js File
$("#changePasswordButton").click(function (){
if($("#newPassword").val() != $("#confirmNewPassword").val()){
alert('Your new password did not matched');
return false;
}else if($("#newPassword").val() == '' || $("#confirmNewPassword").val() == ''){
alert('Please enter new password');
return false;
}else{
alert('Password changed successfully');
}
});
这是我在文档中加载上述 java 脚本文件的方式
$(document).ready(function (){
$(function () {
$.getScript('js/ChangePasswordProcess.js');
});
});
实际上,我想通过将其代码划分到不同的 java 脚本文件中来保持文档就绪文件非常简单和简短。如果有人可以有任何替代解决方案来执行此操作?
最佳答案
这似乎是 Mozilla 中的一个错误,它将通过 XMLHttpRequests 使用 file://
协议(protocol)从本地磁盘检索的文件的“内容类型”报告为“application/xml”。错误“not well-formed”表明javascript内容不是XML,但脚本的运行支持FireFox成功恢复的 View 。我的猜测是,这与 Bug 409230 是同一个问题。
使用在 localhost
上运行的 Node/Express 服务器通过 http://
提供相同页面和 javascript 文件时,错误消失,从而确认了错误行为。 Node/express 正确地将 javascript 文件的内容报告为“application/javascript”,并且没有错误消息。
测试 HTML(具有简化的就绪功能):
<!DOCTYPE html><html><head><title>Not well-formed</title>
<meta charset="utf-8">
<script src="lib/jquery-2.2.1.js"></script>
<script>
$(document).ready(function (){
$.getScript('js/ChangePasswordProcess.js');
});
</script>
</head><body>
password: <input id="newPassword" type="text"><br>
confirm: <input id="confirmNewPassword" type="text"><br>
<button type="button" id="changePasswordButton">change</button>
</body></html>
脚本
在未缩小的 jquery-2.2.1.js 文件
中,在第 8114 行左右添加
console.log("content-type: " + jqXHR.getResponseHeader( "Content-Type" ));
报告响应内容类型。 js/ChangePasswordProcess.js
文件与 OP 保持不变。
关于javascript - mozilla 中的格式不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35819607/