小编典典

HTML代码作为IFRAME源而不是URL

html

这个IFRAME的标准代码,是否有一种方法可以将src URL替换为Just
html代码?所以我的问题很简单,我有一个页面,它加载了来自MySQL的HTML主体,我想在框架中显示该代码,以便使其独立于页面的其余部分,并不受特定边界的限制。

<iframe src="http://example.com" name="test" height="120" width="600">You need a Frames Capable browser to view this content.</iframe>

阅读 474

收藏
2020-05-10

共1个答案

小编典典

您可以使用数据URL进行此操作。这将整个文档包含在单个HTML字符串中。例如,以下HTML:

<html><body>foo</body></html>

可以这样编码:

data:text/html;charset=utf-8,%3Chtml%3E%3Cbody%3Efoo%3C/body%3E%3C/html%3E

然后设置为srciframe 的属性。


编辑:另一种选择是用Javascript做到这一点。几乎可以肯定,这是我选择的技术。您不能保证浏览器将接受多长时间的数据URL。Javascript技术如下所示:

var iframe = document.getElementById('foo'),
    iframedoc = iframe.contentDocument || iframe.contentWindow.document;

iframedoc.body.innerHTML = 'Hello world';

编辑2(2017年12月) :使用Html5的 srcdoc 属性,就像在 Saurabh Chandra Patel
的答案中一样,现在应该将其作为公认的答案!如果您可以有效地检测IE/Edge,则技巧是仅对它们使用srcdoc-polyfill库,并在所有非IE /Edge浏览器中使用“ pure” srcdoc属。

<iframe srcdoc="<html><body>Hello, <b>world</b>.</body></html>"></iframe>
2020-05-10