如何在iframe中插入动态JavaScript标记

如何在iframe中插入动态JavaScript标记,javascript,jquery,iframe,Javascript,Jquery,Iframe,最终更新:第二个代码块正在工作——我只是没有键入URL。 我正在尝试将动态创建的脚本放入iframe中。我可以访问iframe的头部,但它似乎不接受append请求。控制台日志调用返回head标记,下面将文本追加到body中就可以了。我还尝试将script标记附加到主体。(注意:script标记不在同一个域上,因此我避免使用getScript或ajax) 试试这个 $(document).ready(function() { $('<iframe></iframe>'

最终更新:第二个代码块正在工作——我只是没有键入URL。

我正在尝试将动态创建的脚本放入iframe中。我可以访问iframe的头部,但它似乎不接受append请求。控制台日志调用返回head标记,下面将文本追加到body中就可以了。我还尝试将script标记附加到主体。(注意:script标记不在同一个域上,因此我避免使用getScript或ajax)

试试这个

$(document).ready(function() {
  $('<iframe></iframe>', {
      name:"contentFrame"
      ,id:"contentFrame"
  }).css("height", 300).css("width", 500).load(function() {
      $(this).contents().find("head").append('<scr' + 'ipt type="text/javascript" src="//cross-domain.com/script.js"></scr' + 'ipt>');
  }).appendTo("#content");
});
$(文档).ready(函数(){
$('', {
名称:“contentFrame”
,id:“contentFrame”
}).css(“高度”,300).css(“宽度”,500).load(函数(){
$(this.contents().find(“head”).append(“”);
}).附件(“内容”);
});
请参见此答案


事实上,它可能正在工作,但脚本标记只是不可见。

因此,需要注意的是,您不能使用JQuery“append”,但使用传统的脚本方法可以工作吗?
    $(document).ready(function() {
  $('<iframe></iframe>', {
      name:"contentFrame"
      ,id:"contentFrame"
  }).css("height", 300).css("width", 500).load(function() {
      var script   = document.createElement("script");
      script.type  = "text/javascript";
      script.src   = "//cross-domain.com/script.js";
      console.log($(this).contents().find("head"));
      $(this).contents().find("head")[0].appendChild(script);
      $(this).contents().find("body").append("Test");
  }).appendTo("#content");
});
GET http://cross-domain.com/script.js 
(anonymous function)temp.html:16
jQuery.event.dispatchjquery-1.7.1.js:3261
jQuery.event.add.elemData.handle.eventHandlejquery-1.7.1.js:2880
jQuery.fn.extend.appendjquery-1.7.1.js:5771
jQuery.fn.extend.domManipjquery-1.7.1.js:5973
jQuery.fn.extend.appendjquery-1.7.1.js:5769
jQuery.each.jQuery.fn.(anonymous function)jquery-1.7.1.js:6162
(anonymous function)temp.html:18
jQuery.Callbacks.firejquery-1.7.1.js:1049
jQuery.Callbacks.self.fireWithjquery-1.7.1.js:1167
jQuery.extend.readyjquery-1.7.1.js:435
DOMContentLoaded
$(document).ready(function() {
  $('<iframe></iframe>', {
      name:"contentFrame"
      ,id:"contentFrame"
  }).css("height", 300).css("width", 500).load(function() {
      $(this).contents().find("head").append('<scr' + 'ipt type="text/javascript" src="//cross-domain.com/script.js"></scr' + 'ipt>');
  }).appendTo("#content");
});