是否可以对iframe的内容进行硬编码?

时间:2016-04-25 00:40:23

标签: html image iframe browser

例如,可以链接脚本:

<script src="myscript.js"></script>

或嵌入式:

<script type="text/javascript">
    //myscript
</script>

有没有办法用iframe做到这一点? 在到达客户端的浏览器之前手动在网页中嵌入网页?

为了达到同样的效果,是否可以在img标签之间嵌入图像的解码base64?

3 个答案:

答案 0 :(得分:0)

您正在寻找srcdoc属性。它得到了很好的支持,但还没有IE / Edge。

http://caniuse.com/#feat=iframe-srcdoc

答案 1 :(得分:0)

IE / Edge不支持srcdoc的事实真的很烦人,但无论如何你可以用JavaScript来做到这一点,它适用于所有浏览器,包括Internet Explorer和Edge:

var content = '<html><body> <h1>My Sample HTML Code</h1></body></html>';
var iframeDoc = document.querySelector('#myIframeId').contentWindow.document;
iframeDoc.open('text/html', 'replace');
iframeDoc.write(content);
iframeDoc.close();
  <iframe id="myIframeId" />

答案 2 :(得分:0)

实际上我已经将它与AngularJS结合使用了。我的意思是代替:

&#13;
&#13;
<iframe srcdoc="{{htmlContent}}" />
&#13;
&#13;
&#13;

我做了:

&#13;
&#13;
$scope.$watch('htmlContent', function () {
            var iframeDoc = document.querySelector('iframe#preview').contentWindow.document;
            var content = $scope.htmlContent;
            iframeDoc.open('text/html', 'replace');
            iframeDoc.write(content);
            iframeDoc.close();
        });
&#13;
<iframe id="preview" />
&#13;
&#13;
&#13;

这样它适用于所有浏览器(在Chrome,Firefox,IE11,Edge上测试)

相关问题