更改IFrame src属性

时间:2012-01-08 15:12:03

标签: javascript jquery

我正在使用一些测试页面,并且我无法使用jQuery将页面加载到带有src属性的IFrame中。所有页面都是本地的。

以下是我尝试过的脚本:

$(document).ready(function () {
    $("#button1").click(function () {
        $("#iframeBox").attr("src", "Default.aspx");
    });
});

$(document).ready(function () {
    $("#button1").click(function () {
        $("#iframeBox").attr("src") = "Defualt.aspx";
    });
});

这是IFrame的标记:

<iframe id="iframeBox" src="Copy of Default.aspx"></iframe>

我尝试将此代码用于在线网页,但仍然无效。

如果使用IFrame是一个坏主意,请你推荐一个我可以使用的不同方法。 该网站的想法是展示许多用户可以浏览的主题的画廊 并且每个页面都应该有一个画廊。

我正在使用:galleriffic jQuery插件。

1 个答案:

答案 0 :(得分:2)

更改属性不会更改iframe的位置。

HTML:

<iframe id="iframeBox" name="iframeBox" src="watever"></iframe>

JavaScript的:

document.iframeBox.location.href = "Defualt.aspx";

但我建议使用div:

HTML:

<div id="iframeBox" data-src="watever.aspx"></div>

JavaScript的:

 $("div#iframeBox").css("overflow", "auto"); // or do it in css
 $.get($("div#iframeBox").data("src")).success(function(data) {
     $("div#iframeBox").html(data);
 }).error(function() { $("div#iframeBox").html("Could not load page."); });

您可以像这样更改页面:

 $.get("Default.aspx").success(function(data) {
     $("div#iframeBox").html(data);
 }).error(function() { alert("Error while changing page!"); });