2009-08-17 145 views
1

我有一个字符串(通过ajax提取),这是一个完整的html文档(doxtype到</html>)。有谁知道一种方法将其加载到iframe中?将文档字符串加载到iframe

我不能简单地指定在iframe的src中返回文档的url,因为响应可能来自帖子,并且重复它可能会产生不良影响。另外,我无法第一次将它提交给iframe,因为我无法绝对预测结果将是文档而不是某个json。基本上,我不记得的网址,我必须能够使用我有的版本(一个字符串)。

jQuery是公平的游戏,因为这就是我使用的。

+0

[以下是如何(http://softwareas.com/injecting-html-into-an-iframe)。 – 2009-08-17 15:33:13

回答

0

您可以使用data URI来做到这一点。数据URI是一种加载内嵌数据的方式,就像加载外部数据一样。他们看起来像这样:data:<mimetype>,<data>。对于HTML,MIME类型是text/html,在你的情况下,数据是这样的:<!DOCTYPE><html><head><title>Iframe</title></head><body>Hi!</body></html>。如果我们把这个数据URI,我们得到类似如下:

data:text/html,<!DOCTYPE><html><head><title>Iframe</title></head><body>Hi!</body></html> 

当我们设置这个作为iframesrc,它看起来像这样。

var string = '<!DOCTYPE><html><head><title>Iframe</title></head><body>Hi!</body></html>', 
 
    iframe = $('#iframe') 
 

 
iframe.attr('src', 'data:text/html,' + string)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<iframe id="iframe" src=""></iframe>