jquery - 如何将我发现的脚本制作为 ajax 注入的 iframe?
我想知道如何将这个附加的 iframe: 更改
$("#GB_window").append("<iframe id='GB_frame' src='" + url + "'></iframe>");
为 div。有没有办法改变这个,以便我不附加 iframe,而是使用 ajax?我需要能够使用
src='" + url + "'
它的一部分。我还是个新手。
如果您想查看我正在编辑的脚本,它是 GreyBox Redux 灯箱脚本不久前的约翰·雷西格。到目前为止,我已经去掉了相当多的 jquery,因为我只需要它来显示图像,而不是网站。它也只有几kb。
谢谢。
这是我删除后留下的 jquery:
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 文件的:
<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>
抱歉,如果太多了:/
I'm wondering how i would change this appended iframe:
$("#GB_window").append("<iframe id='GB_frame' src='" + url + "'></iframe>");
into a div. Is there a way to change this so that i'm not appending an iframe, but instead using ajax? I need to be able to use the
src='" + url + "'
part of it. i'm still a novice.
If you'd like to see the script i'm editing, it's the GreyBox Redux lightbox script by John Resig from awhile ago. I've stripped a decent amount of jquery out of it so far, because all i need it for showing images, not websites. it's only a couple of kb too.
thanks.
here's the jquery i have left after what i've stripped:
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");
and this is from the of the html file:
<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>
sorry if that's a lot :/
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
使用此行代替
append("
行它将创建新的
div
,其 id 为GB_iframe
,将其附加到GB_window
中,然后将提供的 url 中的内容直接加载到其中。Instead of
append("<iframe>....");
line use this oneIt will create new
div
with idGB_iframe
, append it toGB_window
and then load content from provided url right into it.如果我理解正确的话,您想加载 html 文件的内容并使用 ajax 而不是 iframe 将其放置在页面的一部分上?
使用 jQuery 加载方法非常简单。
这会将您指向的 html 文件的内容放置为 id 为“GB_window”的元素的内容。
编辑
那么,您正在尝试显示图像文件吗?
您需要使用
标签。试试这个:
If I understand you correctly, you want to load the contents of an html file and place it on a section of the page using ajax, not an iframe?
That's fairly simple using the jQuery load method.
This will place the contents of the html file you point to as the contents of the elements with the id 'GB_window'.
edit
So, you're trying to show an image file?
You need to use an
<img>
tag. Try this: