Html href不';不显示URL,但实际上可以工作

Html href不';不显示URL,但实际上可以工作,html,Html,如果你参考上面的网站,它有很多指向一些PDF文件的链接。当我在chrome/firefox中打开下面的链接并按源代码中的“Ctrl+U”时,我找不到直接的URL,而只找到了名称,它有实际文件的超链接。这怎么可能 下面是我按下“Ctrl+U”时显示的代码快照 2010-09-21 00:17 897K 2010-09-21 00:25 897K浏览器将非绝对URI解释为相对于当前页面。保存网页时,浏览器会将所有非绝对URI转换为绝对URI,以便在页面位置更改时链接可以工作 在此页面上:http

如果你参考上面的网站,它有很多指向一些PDF文件的链接。当我在chrome/firefox中打开下面的链接并按源代码中的“Ctrl+U”时,我找不到直接的URL,而只找到了名称,它有实际文件的超链接。这怎么可能

下面是我按下“Ctrl+U”时显示的代码快照

2010-09-21 00:17 897K

2010-09-21 00:25 897K浏览器将非绝对URI解释为相对于当前页面。保存网页时,浏览器会将所有非绝对URI转换为绝对URI,以便在页面位置更改时链接可以工作

  • 在此页面上:
    https://krazydad.com/mazes/sfiles/
  • https://krazydad.com/mazes/sfiles/
    被解释为位于名为
    /mazes/sfiles
    的“目录”内
  • 因此
    https://krazydad.com/mazes/sfiles/KD_AnimalMazes_v1.pdf

此规则是HTML的一部分,可以追溯到HTML2.0或更早版本。

请尝试以下代码。我不确定它是否有效,但我已经尽力了。它只使用字符串切片和字符串连接

<script>
var address;
var webadd  = window.location;
var element = document.getElementById("Some_ID");
if (element.href.indexOf("http") != -1) {
    address = element.href;
}
else {
    if(webadd.slice(-1) == '/')
       webadd = webadd.slice(0, webadd.lastindexOf("/") - 1);

     while (element.href.indexOf("../") == 1) {
         element.href.replace(/..//, "");
         webadd = webdd.slice(0, webadd.lastindexOf("/") - 1);
     }
     address = webadd + element.href;
}

console.log("Address is: " + address)
</script>

var地址;
var webadd=window.location;
var element=document.getElementById(“Some_ID”);
if(element.href.indexOf(“http”)!=-1){
地址=element.href;
}
否则{
if(webadd.slice(-1)=='/'))
webadd=webadd.slice(0,webadd.lastindexOf(“/”)-1);
while(element.href.indexOf(“..”==1){
element.href.replace(/../,“”);
webadd=webdd.slice(0,webadd.lastindexOf(“/”)-1);
}
地址=webadd+element.href;
}
日志(“地址为:”+地址)

我不明白。页面和链接以及链接页面看起来都很正常。我没有从这个问题上理解这个问题。