正在Iframe中打开Express应用程序

Opening Express application in Iframe

本文关键字:Express 应用程序 Iframe 正在      更新时间:2023-09-26

我在地址创建了一个express.js应用程序http://localhost:1546/embed/:url它是从iframe中的其他应用程序调用的,但从ifame调用它会阻止该URL被浏览器渲染。(我认为快递正在封锁它,或者这是一种例外。但没有错误。)

我也尝试过更新的标题。我的代码类似于:

    app.get('/embed/:url', function (req, res) {
  //res.send(req.host);
  app.use("/embed/:url", express.static(__dirname + '/views/layout.ejs'));
app.use("/embed/:url", express.static(__dirname + '/views/embed.ejs'));
     res.header('Access-Control-Allow-Origin', '*');
     res.header('Access-Control-Allow-Methods', 'PUT, GET, POST, DELETE, OPTIONS');
     res.header('Access-Control-Allow-Headers', 'Content-Type');
     //res.header('X-Frame-Option', '*');
     //res.send("djuf");
     res.render('embed', { title: 'AAS', data:{'url':req.params.url}});
  // web_server.use("/", express.static(__dirname + '/index.html'));res.render('list', { title: 'helloooooooooooo', message: 'Hello there!'});
   //console.log(req.params.url);
});

如果您的网站和应用程序使用不同的服务器,我相信您在浏览器上遇到了Cross-Origin Resource Sharing阻塞。

这里有一些很棒的信息:

  • Enable-cors.org
  • developer.mozilla.org

绕过传统方法通常是一个问题,因为这是客户端浏览器级别的限制。

至于测试,请继续在您自己的浏览器中禁用它,但请记住,它对其他查看您网站的人不起作用:

  • 在Chrome中禁用同源策略
  • 禁用firefox中的跨域web安全