【问题标题】:Advice on proxying CSS and JS with a Node.js "proxy" server关于使用 Node.js“代理”服务器代理 CSS 和 JS 的建议
【发布时间】:2020-05-17 10:06:42
【问题描述】:

我有一个用于在查询参数中输入 URL 的工作服务器,它获取页面并将其发送回。问题是,CSS 链接并不总是有效,因为通常 CSS 是通过 HTML <link rel="stylesheet"> 标签从源中获取的。有没有办法从 URL 中获取 CSS 并将其发送到 <style> 标记中?

我也希望能够使用 JavaScript 做到这一点,但这不是必需的。

此外,作为“必备”,是否可以更改锚href标签来更改查询参数而不是URL本身? privatedomain.com/page?url=<urlhere> 是我拥有的 URL 结构,希望它能够从 privatedomain.com/page?url=http://www.google.com 之类的东西重定向到 privatedomain.com/page?url=http://www.google.com/search?q=hmm+yes

真的只是为了好玩而做的一件事,如果我问错了这个问题,对不起,这是我第一次在这里提问,谢谢!

【问题讨论】:

  • 关于更改锚标签的第二个问题最好作为单独的问题提交。最好让您的问题保持细化,而不是在一个帖子中提出太多问题。

标签: javascript css node.js dom-manipulation


【解决方案1】:

解析文档,找到<link rel="stylesheet">,从中提取CSS的相对路径。

然后您可以将相对路径与<urlhere> 的根连接起来。然后将<link rel="stylesheet"> 中的链接替换为您的组合路径。

示例: privatedomain.com/page?url=http://example.com/foo/bar.html

foo.html 你有<link rel="stylesheet" href="/styles.css">

你需要const absoulteCssPath = 'http://example.com' + '/styles.css';然后用你的absoulteCssPath替换<link rel="stylesheet" href="/styles.css">里面的/styles.css

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-12-31
    • 1970-01-01
    • 1970-01-01
    • 2018-07-01
    • 2017-08-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多