如何动态处理动态iframe内容的设置

我有一个页面,我需要动态创建一个iframe并将其粘贴到页面上的div中。 我像这样创建iframe:

var frame = $('') .attr('id', 'myIframe') .addClass('someClass') .appendTo($('#someDiv')); 

根据某些条件,我需要:A)将iframe src设置为其他页面或者B)动态地向iframe添加一些HTML。

我有选项A工作正常,但选项B抛出安全错误:

 if (someCondition) { // option A, works fine frame.attr('src', someURL); } else { // option B, blows up with "Access is denied." $(frame[0].contentWindow.document).find('body').html(someHTML); } 

在尝试设置HTML之前,是否需要在动态iframe上设置document.domain ? 我怎么会这样做? 是否有更简单的方法将动态内容附加到动态iframe?

提前致谢。

这里编辑的是动态iframe的呈现HTML,如下所示:

 

抱歉,如果iframe引用了来自其他域的url来源,则无法访问该url。

http://javascript.info/tutorial/same-origin-security-policy

话虽这么说,你可以访问它的主体,前提是你有来自同一域的url,或者你用“javascript:void(0);”填充属性src。 之后,尝试以这种方式访问​​它:

 $($('iframe').contents().get(0)).find('body') 

我能够使用类似于这个问题的答案的解决方案来解决这个问题:

 var frame = $(' 

这是每个定义的黑客攻击,但我认为这是解决问题的最佳方法。

创建iframe时,请确保指定了src:

 src='about:blank' 

或者在服务器上创建一个blank.html并指向它