点击后退按钮时未定义javascript函数
我有以下示例文件: index.html点击后退按钮时未定义javascript函数,javascript,html,url-redirection,Javascript,Html,Url Redirection,我有以下示例文件: index.html <body> <input type="file" name="image" onchange="handleUpload()"> <script> function handleUpload() { window.location = 'aa.html'; } </script> </body> 函数handleUpload(){ window.lo
<body>
<input type="file" name="image" onchange="handleUpload()">
<script>
function handleUpload() {
window.location = 'aa.html';
}
</script>
</body>
函数handleUpload(){
window.location='aa.html';
}
aa.html
<body>
success
</body>
成功
文件上传后,我被重定向到另一个页面。
当我点击浏览器后退按钮时,我得到了未捕获的引用错误:在HTMLInputElement.onchange中未定义handleUpload
有人能解释为什么会这样吗?我理解为什么会触发handleUpload,但为什么它没有定义
更新
我的应用程序更复杂。我使用webpack将我的js文件捆绑到一个文件中,然后在关闭
body
标记之前在布局中引用它。
当输入文件被填充时,我尝试做的是一个图像预览。一切都很好,但如果我在表单提交后按“后退”按钮,就会出现错误
通过从html中删除onchange
,并在其中一个js文件中添加事件侦听器,我成功地避免了这个问题。这种方法会延迟打开“选择文件”窗口。以下是您的答案
您在第二页中引用了您的JS文件吗?它不是JS文件(但我也尝试过),它是一个内联脚本。我试着将脚本放在第二页,但没有解决问题。我在chrome中本地检查了它,没有问题。您使用什么浏览器?Chrome版本55.0.2883.95(64位)。我认为这是一个浏览器问题。这在Firefox中不会发生。我有相同的版本(但32位),你确定你正确测试了这两个文件吗?我的应用程序更复杂。我使用webpack捆绑所有的js,并在标签前面自动插入js文件onchange
处理程序更复杂,重定向由路由器完成。这是一个简单的例子来说明这个问题。