【发布时间】:2018-03-04 16:22:18
【问题描述】:
我想让用户操纵另一个网页的 DOM(比如 www.google.com)。
显然,我并没有任何意图实际更改原始网页上的任何内容,而只是允许视觉更改,看起来好像它们在该网站上。
我开始使用iframe,但没有办法为跨域iframe 操作DOM。因此,我考虑从我自己的服务器和我自己的域提供该网页,这样就不会有任何跨域问题。
这是我在服务器上得到的:
app.get('/showsite', (req, res) => {
const url = 'https://www.google.com';
request(url, (err, resp, html) => {
if (!err) {
res.send(html);
}
})}
我在这里所做的实际上是使用 GET 请求接收网页,然后 将 html 响应发送回客户端。
网页确实显示给客户端,但是页面全乱了 - 相对路径错误,样式,编码等。
正确的实现应该是什么?
【问题讨论】:
-
网页不仅仅是 html。加载了大量资源,为每个网站提供了自己的风格和功能。
-
当然可以,但是它们是从 index.html 文件中导入的。无论哪种方式,我都知道可以做我想做的事(我在几个网站上看到过这种行为),只是不确定正确的实现
标签: javascript html node.js express