Javascript 我怎样才能阻止我的页面加载到另一个HTML并发出错误警报呢?

Javascript 我怎样才能阻止我的页面加载到另一个HTML并发出错误警报呢?,javascript,html,Javascript,Html,我目前正试图停止我的HTML页面加载到另一个HTML页面,这会给我一个错误,相反,我希望它显示在一个警报对话框 函数下载(){ location.href=“ModifiedIndex/”+document.getElementById(“refID”).value+“.zip”; 如果(location.href==null){ 警报(document.getElementById(“refID”).value+“.zip”+”不存在 存在!) } } 输入文件名#开始下载。。。 下载 试试

我目前正试图停止我的HTML页面加载到另一个HTML页面,这会给我一个错误,相反,我希望它显示在一个警报对话框

函数下载(){
location.href=“ModifiedIndex/”+document.getElementById(“refID”).value+“.zip”;
如果(location.href==null){
警报(document.getElementById(“refID”).value+“.zip”+”不存在
存在!)
}
}
输入文件名#开始下载。。。
下载
试试看

异步函数下载(){ 让url=“ModifiedIndex/”+refID.value+“.zip”; 试一试{ 让r=wait-fetch(url,{method:'HEAD'}); 位置=url; }捕获(e){ 警报(refID.value+“.zip不存在!”) } }
输入文件名#开始下载。。。

下载
一旦您更新
位置。href
浏览器将开始进入该页面,因此该行代码之后的任何内容或多或少都是无关的。如果已经要加载页面,则无法停止加载该页面。您应该首先检查文件是否存在,然后相应地重定向

如果要检查文件是否存在,必须使用ajax

    <h3>Enter FileName # to start download...</h2>
    <input type="text" id="refID" title="Enter FileName # to start download">
    <a href="#" id="click" download>Download</a>

    function input() {

        let input = document.getElementById("refID");

        let value = input.value;

        if (! value) {

          alert('The Input is empty');

          return false;
        }

       return value;
   }

   let click = document.getElementById("click");

   click.onclick = function (e) {

      if (input()) {

          let file = `${input()}.zip`;

         this.href = `${input()}.zip`;
      }
 };
输入文件名#开始下载。。。
函数输入(){
让输入=document.getElementById(“refID”);
设value=input.value;
如果(!值){
警报(“输入为空”);
返回false;
}
返回值;
}
let click=document.getElementById(“click”);
click.onclick=函数(e){
if(输入()){
让file=`${input()}.zip`;
this.href=`${input()}.zip`;
}
};

您在函数的第一行将
location.href
设置为字符串,然后在
if
语句的第三行测试它是否
null
-没有太多意义。location.href将永远不会被设置null@JasonAller谢谢你的建议:用“头”来减少流量:)-非常聪明-我更新答案