使用Javascript将链接转换为iframe

时间:2016-05-06 04:22:41

标签: javascript iframe

所以,让我们说我有一个链接

<a href="http://URL"></a>

代替此链接,我想改为显示包含链接内容的IFRAME。例如:

<iframe src="http://URL"></iframe>

此iframe的宽度为100%,iframe的高度将动态计算为等于结果页面的高度(即http://URL)。

如何使用纯Javascript解决方案执行此操作?

1 个答案:

答案 0 :(得分:1)

您可以尝试这样做,但它只能在同一个域名中使用。这是安全限制

<html>
<body>
    <div>
        <a href="http://example.org" class="frame">example.org</a>
    </div>
    <script>
        var links = document.getElementsByClassName('frame');
        for (var i = 0; i < links.length; i++) {
            var frame = document.createElement("iframe");
            frame.setAttribute('src', links[i].getAttribute('href'));
            frame.setAttribute('class', links[i].getAttribute('class'));
            frame.style.width = "100%";
            frame.onload = function() {
                frame.style.height = frame.contentWindow.document.body.scrollHeight + "px";
            };

            links[i].parentNode.replaceChild(frame, links[i]);
        }
    </script>
</body>
</html>