【发布时间】:2017-01-14 11:12:58
【问题描述】:
我有以下示例文件:
index.html
<body>
<input type="file" name="image" onchange="handleUpload()">
<script>
function handleUpload() {
window.location = 'aa.html';
}
</script>
</body>
aa.html
<body>
success
</body>
文件上传后,我被重定向到另一个页面。
当我点击浏览器后退按钮时,我得到Uncaught ReferenceError: handleUpload is not defined at HTMLInputElement.onchange。
有人可以解释为什么会这样吗?我明白为什么会触发handleUpload,但为什么它是未定义的?
更新
我的应用更复杂。我使用 webpack 将我的 js 文件捆绑到一个文件中,然后在关闭 body 标签之前在布局中引用它。
我想要做的是填充输入文件时的图像预览。一切正常,但如果我在提交表单后点击返回按钮,我会收到该错误。
我设法通过从 html 中删除 onchange 并在其中一个 js 文件中添加事件侦听器来避免此问题。这种方法在打开选择文件窗口时会有延迟。
【问题讨论】:
-
第二页引用你的js文件了吗?
-
它不是一个 js 文件(但我也试过)它是一个内联脚本。我尝试将脚本放在第二页,但没有解决问题。
-
我在本地用chrome检查过,没有问题。你用什么浏览器?
-
Chrome 版本 55.0.2883.95(64 位)。我觉得是浏览器的问题。它不会在 Firefox 中发生。
-
我有相同的版本(但 32 位),你确定你测试这两个文件正确吗?
标签: javascript html url-redirection