如何在变量中存储iframe?

时间:2013-07-07 11:38:51

标签: javascript iframe

<html>
<body>
   <iframe id="src">

</body>
</html>

我希望iframe通过Javascript函数显示在div元素中,但我似乎无法弄清楚什么是无效的。有什么想法吗?

document.getElementById('site').src = http://www.w3schools.com/;

提前致谢!

3 个答案:

答案 0 :(得分:5)

尝试 document.getElementById('src').src = 'http://www.w3schools.com/';

a)网址应以字符串(引用)

提供

b)您的iframe的ID为src而不是site

答案 1 :(得分:0)

您的iframe没有ID site,因此您的代码不会产生任何影响。 (另请注意,您未关闭iframe代码。)

这是正确的代码(fiddle)。

<input type="button" onclick="changeIframeSrc('myFrame');" value="changeSrc">
<iframe src="http://www.example.com" id="myFrame"></iframe>

<script>
function changeIframeSrc(id) {
    e = document.getElementById(id);
    e.src = "http://www.wikipedia.com/";
}
</script>

答案 2 :(得分:0)

首先,几件小事:

  1. id上的iframe似乎是src而不是site;和
  2. 您需要关闭iframe代码。
  3. 假设您只是处理一个iframe而且它有一个id,那么无论如何:

    var myIframe = document.getElementById('src');
    // gives you just that one iframe element
    

    如果您正在使用多个document.querySelectorAll,则可能需要考虑iframe

    var iframes = document.querySelectorAll('iframe');
    

    查看实际操作:http://jsbin.com/equzey/2/edit

    重要的注意事项:如果您只需要访问iframe元素(例如,操纵其来源或通过style属性应用CSS),那么上面应该没问题。但是,如果您需要使用iframe的内容,则需要使用contentWindow属性进入其网页上下文:

    var iframes = document.querySelectorAll('iframe');
    iframes[0].contentWindow;