3

我有一个 .jade 视图,其中包含:

iframe(width='800', height='166', scrolling='no', frameborder='no', src= srcStr)

我尝试通过执行以下操作使用来自用户的输入源 url 来呈现它:

var string = req.body.code;
res.render('embedview', { srcStr: string});

现在,渲染的页面将只显示一个没有任何内容的 iframe,即使在我查看其源代码时 iframe 代码看起来正确(带有 src="..." 属性)。几乎看起来它首先使用 src="" 加载 iframe,然后在不重新加载的情况下粘贴源 url。

4

1 回答 1

3

您的翡翠标记或生成的 HTML 标记不是问题。一旦我提供了一个支持从不同域进行 iframe 的页面的 url,我的代码片段就可以正常工作了。

例如 www.google.com 不支持此功能。您可以在下面的响应中看到 curl -v http://www.google.com的标头X-Frame-Options

< HTTP/1.1 200 OK
< Date: Wed, 22 Aug 2012 22:21:45 GMT
< Expires: -1
< Cache-Control: private, max-age=0
< Content-Type: text/html; charset=ISO-8859-1
 ...
< X-XSS-Protection: 1; mode=block
< X-Frame-Options: SAMEORIGIN
< Transfer-Encoding: chunked

如果您控制所提供页面的代码,则可以关闭此选项。这是防止点击劫持的安全措施。你可以在这里阅读更多关于它的信息 https://developer.mozilla.org/en-US/docs/The_X-FRAME-OPTIONS_response_header

于 2012-08-22T22:29:14.767 回答