首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >jquery -如何从我在ajax注入中找到的脚本生成iframe?

jquery -如何从我在ajax注入中找到的脚本生成iframe?
EN

Stack Overflow用户
提问于 2010-02-19 13:35:16
回答 2查看 699关注 0票数 0

我想知道如何更改这个附加的iframe:

代码语言:javascript
复制
$("#GB_window").append("<iframe id='GB_frame' src='" + url + "'></iframe>");

添加到div中。有没有办法改变这一点,让我不再附加iframe,而是使用ajax?我需要能够使用

代码语言:javascript
复制
src='" + url + "'

其中的一部分。我还是个新手。

如果你想看看我正在编辑的脚本,那就是John Resig不久前编写的GreyBox Redux lightbox脚本。到目前为止,我已经从它中去掉了大量的jquery,因为我只需要它来显示图像,而不是网站。它也只有几个kb。

谢谢。

下面是我在剥离之后留下的jquery:

代码语言:javascript
复制
    var GB_DONE = false;

function GB_show(caption, url, height, width){
    GB_HEIGHT = height || 400;
    GB_WIDTH = width || 400;
    if (!GB_DONE) {
        $(document.body).append("<div id='GB_overlay'></div><div id='GB_window'>");
        $("#GB_overlay").click(GB_hide);
        $(window).resize(GB_position);
        GB_DONE = true;
    }

    $("#GB_frame").remove();
    $("#GB_window").append("<iframe id='GB_frame' src='" + url + "'></iframe>");

    $("#GB_overlay").fadeIn(350, function(){
        $("#GB_window").fadeIn(350);
    });
    GB_position();
}

function GB_hide(){
$("#GB_window,#GB_overlay").fadeOut(350, function(){
    $("#GB_window,#GB_overlay").hide()
});
}

function GB_position(){
var de = document.documentElement;
var w = self.innerWidth || (de && de.clientWidth) || document.body.clientWidth;
$("#GB_window").css({
    width: GB_WIDTH + "px",
    height: GB_HEIGHT + "px",
    left: ((w - GB_WIDTH) / 2) + "px"
});
$("#GB_frame").css("height", GB_HEIGHT - 32 + "px");

这是来自html文件的:

代码语言:javascript
复制
    <script type="text/javascript">
  var GB_ANIMATION = true;
  $(document).ready(function(){
    $("a.greybox").click(function(){
      GB_show(this.title || $(this).text() || this.href,this.href,470,600);
      return false;
    });
  });
</script>

如果太多了,很抱歉:/

EN

回答 2

Stack Overflow用户

发布于 2010-02-19 13:54:52

不使用append("<iframe>....");行,而使用以下行

代码语言:javascript
复制
$("<div id='GB_frame'></div>").appendTo("#GB_window").load(url);

它将使用id GB_iframe创建新的div,将其附加到GB_window,然后将内容从提供的url加载到其中。

票数 0
EN

Stack Overflow用户

发布于 2010-02-19 13:55:48

如果我理解正确的话,您想要加载html文件的内容,并使用ajax而不是iframe将其放在页面的一部分?

使用jQuery load方法就相当简单了。

代码语言:javascript
复制
$("#GB_window").load("url to load from");

这将把您指向的html文件的内容作为id为'GB_window‘的元素的内容。

编辑

所以,你正在尝试显示一个图像文件?

您需要使用<img>标记。试试这个:

代码语言:javascript
复制
$("img").attr("src", "url to image").appendTo("#GB_window");
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2294283

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档