【问题标题】:How does browser knows the absolute location of stylesheet from relative path浏览器如何从相对路径中知道样式表的绝对位置
【发布时间】:2016-05-14 02:10:49
【问题描述】:

我对节点真的很陌生。我正在处理 REST 调用。我收到来自 Postman 的带有 URL 的请求(使用它来检查 REST api 调用)。我需要对该 URL 的内容进行一些单词级别的更改并再次显示该页面。

在加载页面时,头部有一个链接命令,用于提供指向外部样式表/图像等的链接,但很多时候这个链接是相对的。

例如在 url = https://stackoverflow.com/questions/ 的页面上 链接命令用于第 6 行(HTML 源代码),它有一个相对的 href 源代码 = //cdn.sstatic.net/stackoverflow/img/favicon.ico?v=4f32ecc8f43d

这个来源的实际位置不是url + relative。
有时它只是“https://”+ 相对
虽然有时是 url + "../" + relative 或者有时 url + "../../" + relative

那么浏览器如何知道这一点并获得正确的样式表/图像/jss
以及我应该在链接的 href 属性中进行哪些更改以始终获取正确的样式表/图像/jss 文件,以便在我的网站上按实际显示页面。

【问题讨论】:

    标签: html css browser stylesheet relative-path


    【解决方案1】:

    注意:我可能完全误解了你的问题,所以很简单。

    //cdn.sstatic.net/stackoverflow/img/favicon.ico?v=4f32ecc8f43d是绝对路径,协议未定义,所以会维护请求页面的协议(即http/https)。

    特此“//cdn.static.net 在那一刻是“http://cdn.static.net

    相对 uri 的写法类似于“path/to/file.ext”,它只是位于当前域之后(即 www.mydomain.com)。像“../”这样的相对路径将获取根目录(如果有)(即 www.mydomain.com/path/../whatever.script => www.mydomain/whatever.script)。

    ./ 仅代表“当前目录”。

    这有帮助吗?

    【讨论】:

    • 那么要从相对路径形成绝对路径,我们只需将域添加到相对路径?所以例如如果 domain = "wikipedia.org" and url = "en.wikipedia.org/wiki/Odyssey" and relative path = "/relativepath" 那么绝对路径是 domain+relative_path ?不应该是 url + 相对路径吗?
    • 你是对的。在“/my/relative/path”的情况下,这将指的是 DOMAIN + PATH。但是,当它是“my/relative/path”时,它指的是 URL + PATH。
    猜你喜欢
    • 2020-08-18
    • 2018-07-18
    • 1970-01-01
    • 2011-04-25
    • 2010-09-21
    • 2014-03-16
    • 1970-01-01
    • 2021-05-28
    • 1970-01-01
    相关资源
    最近更新 更多