javascript-link&;从html执行
我有一些HTML格式的JS。当它在一个页面中时,它工作得很好,但一旦我想将JS放在单独的文件中,它就不工作了 中的index.htmljavascript-link&;从html执行,javascript,html,Javascript,Html,我有一些HTML格式的JS。当它在一个页面中时,它工作得很好,但一旦我想将JS放在单独的文件中,它就不工作了 中的index.html <script src="js/pw.js"></script> 为什么单独的文件不起作用?对不起。它在如下情况下工作: 函数TheLogin(){ 控制台日志(“单击”); var密码='123'; if(this.document.login.pass.value==密码){ 控制台日志(“IR”); top.location.h
<script src="js/pw.js"></script>
为什么单独的文件不起作用?对不起。它在如下情况下工作:
函数TheLogin(){
控制台日志(“单击”);
var密码='123';
if(this.document.login.pass.value==密码){
控制台日志(“IR”);
top.location.href=“./file.pdf”;
}
否则{
控制台日志(“X”);
window.location.reload();
}
}
输入密码:下载
嗯,为什么函数要包装在文档就绪方法中?您将无法调用该登录,因为它不是全局的。您的JavaScript代码实际上什么都不做。它只是定义了一个从未调用过的函数。“在特定的地方我需要js出现”现在怎么办?假设你在chrome/firefox中,点击f12,在页面加载时查看网络选项卡。您是否看到引入的文件有任何错误?链接的js“不起作用”的页面可能与js目录有不同的相对路径。查看控制台选项卡。你看到错误了吗?它们是什么?您的函数TheLogin()不需要包装在就绪函数中。只有在加载时调用它的代码。为什么要提供两次
标记?
<script type="text/javascript" src="js/pw.js"></script>
$(document).ready(function() {
function TheLogin() {
console.log("CLICK");
var password = '123';
if (this.document.login.pass.value == password) {
console.log("IR");
top.location.href="./file.pdf";
}
else {
console.log("X");
window.location.reload();
}
}
});