iframe动态创建而不加载

时间:2013-12-12 13:57:30

标签: javascript html iframe append

我正在创建一个iframe,当我将它添加到dom时,它不会加载url。我实际上必须右键单击它并点击刷新...任何原因发生这种情况?我在Lync的CWE扩展上使用此代码,它在嵌入式浏览器上运行,但它实际上是IE7。

这是代码:(网址很好,因为点击刷新加载右页,所以我没有包括获取网址)

var iframe = document.createElement('iframe');
iframe.id = "myframe";
iframe.height = "400";
iframe.width = "700";
iframe.style.border = "0";
iframe.scrolling = "no";
iframe.frameBorder = "0";
iframe.style.display = "block";
iframe.setAttribute("src", this.GetUrl(x));

main.appendChild(iframe);

1 个答案:

答案 0 :(得分:2)

尝试:

frame.src = this.GetUrl(x);

而不是:

iframe.setAttribute("src", this.GetUrl(x));

frame.src 属性 ,而iframe.setAttribute("src", this.GetUrl(x));设置 属性

为避免旧浏览器出现不一致和问题,请先尝试appendChild,以便在设置src之前,DOM知道其存在。

    var iframe = document.createElement('iframe');
    iframe.id = "myframe";
    iframe.height = "400";
    iframe.width = "700";
    iframe.style.border = "0";
    iframe.scrolling = "no";
    iframe.frameBorder = "0";
    iframe.style.display = "block";
  //  iframe.setAttribute("src", this.GetUrl(x));

    main.appendChild(iframe);
    frame.src = this.GetUrl(x);