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

</body>
</html>

我想通过 Javascript 函数让 iframe 显示在 div 元素中,但我似乎无法弄清楚什么不起作用。有任何想法吗?

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

提前致谢!

4

3 回答 3

5

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

a) url 应作为字符串提供(引用)

b)您的 iframe 的 idsrc不是site

于 2013-07-07T11:43:13.003 回答
0

首先,有几件小事:

  1. id你的似乎iframesrc而不是site;和
  2. 你需要关闭iframe标签。

假设您只是在处理一个iframe并且它有一个idthen 无论如何:

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;
于 2013-07-07T11:59:59.500 回答
0

您的 iframe 没有 id site,因此您的代码不会有任何效果。(另请注意,您没有关闭iframe标签)。

这是正确的代码(小提琴)。

<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>
于 2013-07-07T11:46:56.073 回答