Javascript 使用node&;从我自己的服务器提供任何外部网页;表达
我想允许用户操纵另一个网页的DOM(比如www.google.com) 显然,我并不打算实际更改原始网页上的任何内容,只想允许视觉上的更改,就像它们在该网站上一样 我首先使用了Javascript 使用node&;从我自己的服务器提供任何外部网页;表达,javascript,html,node.js,express,Javascript,Html,Node.js,Express,我想允许用户操纵另一个网页的DOM(比如www.google.com) 显然,我并不打算实际更改原始网页上的任何内容,只想允许视觉上的更改,就像它们在该网站上一样 我首先使用了iframe,但是没有办法操纵跨域iframe的DOM。因此,我考虑从我自己的服务器和我自己的域提供该网页,这样就不会有任何跨域问题 这是我在服务器上得到的信息: app.get('/showsite', (req, res) => { const url = 'https://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响应发送回客户端
网页确实会显示给客户端,但页面完全乱七八糟-
相对路径错误、样式、编码等
什么样的实施才能使其正确?只要您能够拉入并托管构成该网站的所有资产,就可以抓取第三方网站,更改并重新显示其内容。在您的情况下,google.com登录页上有许多图像需要从您自己的域中的服务器检索并提供服务
网页不仅仅是html。加载了大量资源,为每个站点提供了自己的风格和功能。当然,它们是从index.html文件导入的。不管是哪种方式,我知道我可以做我想做的事情(我在几个网站上看到过这种行为),只是不确定正确的实现谢谢你的回答,但我想知道为什么我必须保存所有这些。看起来没有相对路径的图像和脚本是可以加载的,那么仅仅改变html本身的相对路径就可以得到它们吗?