如何通过Javascript片段显示iframe?

如何通过Javascript片段显示iframe?,javascript,dom,iframe,facebook-iframe,Javascript,Dom,Iframe,Facebook Iframe,我在网上看到了一些小部件,它们可以让用户在自己的页面中包含一个简短的Javascript片段,执行时会显示一个Iframe,如下面的示例所示 <div id="fb-root"></div><script src="http://connect.facebook.net/en_US/all.js#appId=APP_ID&amp;xfbml=1"></script><fb:facepile></fb:facepile>

我在网上看到了一些小部件,它们可以让用户在自己的页面中包含一个简短的Javascript片段,执行时会显示一个Iframe,如下面的示例所示

<div id="fb-root"></div><script src="http://connect.facebook.net/en_US/all.js#appId=APP_ID&amp;xfbml=1"></script><fb:facepile></fb:facepile>


我自己怎么做?在我的服务器上有一个javascript,当在远程服务器上调用时,它会写出一个iframe或将内容加载到他们的页面中?

要用jQuery生成一个标记,你可以使用
$(“”)
并传递一个带有参数的对象(例如
src
)。 然后将此iframe附加到Dom。使用
html()

$(function() {     
  var iframe = $('<iframe />', {
    src: 'http://example.com',
    width: 100,
    height: 100
  });

  $('#example').html(iframe);
});
$(函数(){
变量iframe=$(''{
src:'http://example.com',
宽度:100,
身高:100
});
$('#示例').html(iframe);
});

正在为此使用jQuery

$(document).ready(function() {
   $('#fb-root').append('<iframe/>');
   $('#fb-root iframe')
        .attr('id','my_iframe')
        .attr('src','http://www.cnn.com')
        .css('width','100%')
        .css('height','100%')
        .attr('frameborder','no');
 });
$(文档).ready(函数(){
$('#fb root')。追加('');
$(“#fb根iframe”)
.attr('id','my_iframe'))
.attr('src','http://www.cnn.com')
.css('width','100%”)
.css('height','100%”)
.attr('frameborder','no');
});

我想你可能有点搞混了。其工作方式如下: 1.用户从域/服务器请求页面,页面已送达。 2.用户机器上的客户端web浏览器解释所述页面,如果脚本块包含对某个其他位置的js文件的引用,则获取所述js文件。 3.Javascript由客户端浏览器处理

因此,您真正需要的是服务器上的一个JS文件(普通的旧ASCII),并让它执行一些document.write()调用来添加您希望它添加的代码,例如:

涉及三个档案 index.html 另一页.html testIFrame.js

如果不成功或者我对你要找的东西走错了方向,请告诉我

Shaun

传统方式(被认为有点凌乱;不能将XHTML作为XML主机页使用;如果在页面加载后通过异步调用,将破坏整个页面):

或者在当前的
之前插入DOM(不过如果延迟,可能会无法预测):

或在当前脚本之前插入:

    var scripts= document.getElementsByTagName('script');
    var script= scripts[scripts.length-1];
    script.parentNode.insertBefore(iframe, script);

我不会将jQuery用于第三方脚本包含。为了几行JS,您必须将整个沉重的框架加载到封闭的页面中。这可能会导致与主机页使用的其他框架(或不同版本的jQuery)发生冲突,这对于第三方脚本来说是非常粗鲁的行为。

如果客户端有jQuery的链接,则会起作用。@jball:至少他在QuestionTrue中添加了一个
jQuery
-标记,就@Industrial而言,这似乎是一个不好的假设——我不确定这是一个安全的假设。很抱歉,这个标签。我不希望我的用户拥有jquery或将其与我的脚本捆绑在一起。然而,您的代码片段非常有趣,并且将以稍微不同的方式提供帮助。谢谢!真不敢相信这有多容易。谢谢!
document.getElementById('examplecomframe').innerHTML= '<iframe src="http://www.example.com/myframe" width="100" height="100"></iframe>';
(function() {
    var iframe= document.createElement('iframe');
    iframe.src= 'http://www.example.com/myframe';
    iframe.width=iframe.height= 100;
    document.getElementById('examplecomframe').appendChild(iframe);
})();
    var scripts= document.getElementsByTagName('script');
    var script= scripts[scripts.length-1];
    script.parentNode.insertBefore(iframe, script);