【问题标题】:iFrame without source attribute but embeded html tagiFrame 没有源属性但嵌入 html 标签
【发布时间】:2012-05-14 07:06:48
【问题描述】:

我对 iframe 不太熟悉,基本上只是想知道是否可以在 iframe 标签上排除“src”属性,而是在其中嵌入一个 html 标签?例如:

<iframe id='myFrame'>
    <html>
        <head>...</head>
        <body>
            <h3>Hello World!</h3>
        </body>
    </html>
</iframe>

也只是一个小问题,说这确实是可能的。并且您将此代码嵌入到 JSP 中,JSP 中的 java 变量是否也对 iframe 的 html 标记侧的 html 文档可见?

谢谢大家!

【问题讨论】:

标签: java html jsp iframe


【解决方案1】:

我不知道您为什么要这样做,因为使用 div 会更有意义,将您想要的内容放在 div 中并在需要时使用 javascript 显示 div。通常,在没有 source 属性的 iframe 中只放置文本而不是 html 标记的原因是为了支持不支持 iframe 的浏览器。

iframe 的目的是在 iframe 中显示不同的网页,看起来您基本上尝试做的是在 iframe 中创建另一个网页而不使用 src 属性,这很奇怪,因为您重新使用 jsp 创建页面并使用

<jsp:include>

包含页面而不是使用 iframe。

【讨论】:

  • 一个“为什么要这样做”可能是尝试在 iframe 内注入动态修改的内容,通过使用某种代理脚本 (例如使用 php 套接字函数) 检索.这样可以动态修改跨站点 &lt;iFrame&gt; 的内容没有同源策略 问题。
【解决方案2】:

也许您可以使用 DIV 来代替您想要的 iframe 和 innerhtml……它会是一样的吗?

【讨论】:

    【解决方案3】:

    我知道这是一个非常古老的问题,但我只是遇到了它,自 2010 年以来有了新的发展。

    现在可以使用 HTML5 srcdoc 属性。来自MDN

    嵌入上下文的页面内容 是包含。该属性预计将被普遍使用 与沙盒属性一起。如果浏览器支持 srcdoc 属性,它将覆盖 src 属性中指定的内容 (如果存在)。如果浏览器不支持 srcdoc 属性,它 将显示在 src 属性中指定的文件(如果 展示)。请注意,如果属性的内容包含脚本 标记然后脚本运行需要一个结束脚本标记,即使 如果脚本后面没有其他内容。

    但是请注意,任何版本的 Internet Explorer 都不支持 srcdoc。不过,Edge 可以满足您的需求。

    如果您对 polyfill 感兴趣,有一个可用的,但我还没有(还没有!)自己测试过:

    https://github.com/jugglinmike/srcdoc-polyfill

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多