Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/89.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
点击后退按钮时未定义javascript函数_Javascript_Html_Url Redirection - Fatal编程技术网

点击后退按钮时未定义javascript函数

点击后退按钮时未定义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

我有以下示例文件:

index.html

<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
处理程序更复杂,重定向由路由器完成。这是一个简单的例子来说明这个问题。