有关使用Node.js“代理”服务器代理CSS和JS的建议

问题描述 投票:0回答:1

我有一个正常工作的服务器,用于在查询参数中输入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个回答
0
投票

解析文档,找到<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';然后将/styles.css中的<link rel="stylesheet" href="/styles.css">替换为absoulteCssPath

© www.soinside.com 2019 - 2024. All rights reserved.