这个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>
您可以使用数据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 的属性。
src
编辑:另一种选择是用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>