改变IFrame src内容

时间:2014-05-28 02:56:06

标签: javascript jquery html asp.net iframe

我不相信这可以做到,但是可以改变通过src呈现的iframe的内容。

我使用的第三方编译的ASP.Net控件(Telerik RadEditor .Net 2版本)在其渲染代码的一部分中有一个iframe,并且不包含doctype,并且它在IE8中导致某些元素出现问题。

编译时,我无法在源代码中添加它。我想知道是否可以用另一种方式添加它?

我在jquery中尝试了很多东西,例如:

$(element).html().prepend("doc type here");

$(element).html("doctype here" + $(element).html()); 

以及所有其他狡猾的工作。

2 个答案:

答案 0 :(得分:1)

src,你的意思是内容,对吧? (src是iframe的一个属性,它指定iframe本身的URI)

您可以通过更改iframe的the content来更改doctype。一种可能的方法是重新创建iframe并重新插入内容,同时预先添加doctype。不幸的是,it is not possible使用DOM将doctype添加到现有的iframe中。

示例:

var iframe = document.createElement("iframe");
var idocument = iframe.contentDocument;
idocument.open();
idocument.write("<!DOCTYPE html...") // Doctype goes here
idocument.write("<html>...</html>") // Content goes here
idocument.close();

答案 1 :(得分:1)

我使用iframe使用iframe做了类似的事情,使用jQuery:$('iframe').contents().find("#internaldiv"),它有效,但只有当iframe src和主网站属于同一个域时,在其他情况下你必须处理相同的域策略http://en.wikipedia.org/wiki/Same-origin_policy)并在您的服务器和其他域服务器中实现跨域策略。