父窗口域前置于iframe src页面

时间:2014-11-25 11:18:06

标签: javascript html iframe

我正在使用javascript以下列方式插入iframe:

var s ="<p><iframe name=&quot;searchf&quot; src=&quot;http://www.google.com&quot; frameborder=&quot;0&quot; width=&quot;100%&quot; height=&quot;350&quot;></iframe></p>";

var para = document.createElement("div");
para.innerHTML = s;

var element =  document.getElementById("some_div_id");
var child = document.getElementById("some_fieldset_id");
element.insertBefore(para,child);

假设父窗口域为http://www.parentwindowdomain.com/example1。问题是iframe src页面以某种方式解释为父窗口域名被添加到指定的src域之前。例如,生成的iframe src页面地址将错误地为http://www.parentwindowdomain.com/example1/"http://www.google.com"

有没有办法覆盖它,在这种情况下,iframe src页面将是http://www.google.com

1 个答案:

答案 0 :(得分:1)

你能试试这个,我认为它更整洁。

http://jsfiddle.net/qpkp5sb2/

var s = document.createElement("iframe");
s.setAttribute("name", "searchf");
s.setAttribute("src", "http://www.example.com");
s.setAttribute("frameborder", "0");
s.setAttribute("width", "100%");
s.setAttribute("height", "350");
var pp = document.createElement("p");
pp.appendChild(s);

var para = document.createElement("div");
para.appendChild(pp);

var element =  document.getElementById("some_div_id");
var child = document.getElementById("some_fieldset_id");
element.insertBefore(para,child);
console.log(s);