关于使用 Node.js "proxy" 服务器代理 CSS 和 JS 的建议

Advice on proxying CSS and JS with a Node.js "proxy" server

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

我也希望能够使用 JavaScript 执行此操作,但这不是必需的。

此外,作为 "nice-to-have",是否可以更改锚点 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

真的只是为了好玩而尝试让它发挥作用,如果我问错了这个问题,对不起,这是我第一次在这里问,谢谢!

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

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

示例: 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