每次打开对话框时获取iframe的初始URL

时间:2013-09-12 15:27:31

标签: jquery

我在对话框中添加了iframe。每次关闭对话框时,都会保留iframe的最后一个URL而不是最初的URL!每次关闭并再次打开时,如何让它打开初始URL?

HTML示例:

<div id="opener_1">OPEN</div>

<div id="dialog_1">
<iframe src="http://www.wikipedia.com" width="570" height="320"></iframe>
</div>

JQUERY示例:

var $JQ_ = jQuery.noConflict();

    $JQ_(function(){
    $JQ_("#dialog_1").dialog({autoOpen:false,
                                 width:'auto',
                                height:'auto',
                             resizable:false,
                                  show:{effect:"fade", duration:250},
                                  hide:{effect:"fade", duration:250}
    });
    $JQ_("#opener_1").click(function(){$JQ_("#dialog_1").dialog("open");});
    });

一个实例here ......

2 个答案:

答案 0 :(得分:1)

在您的代码中尝试此操作:

var $frame = $("#myFrame");
var firstUrl = $frame.attr("src");

var $JQ_ = jQuery.noConflict();

$JQ_(function () {
    $JQ_("#dialog_1").dialog({
        autoOpen: false,
        width: 'auto',
        height: 'auto',
        resizable: false,
        show: {
            effect: "fade",
            duration: 250
        },
        hide: {
            effect: "fade",
            duration: 250
        },
        close: function () {
            $frame.attr("src", firstUrl);
        }
    });

    $JQ_("#opener_1").click(function () {
        $JQ_("#dialog_1").dialog("open");
    });
});

实现对话框的close事件。

jsFiddle http://jsfiddle.net/hescano/Y6hdj/3/

API文档http://api.jqueryui.com/dialog/#event-close

答案 1 :(得分:0)

您可以在对话框div后点击按钮后立即选择iframe,然后重新设置其src属性。

检查此更新的jsFiddle

(通过执行frame.attr("src", src),您重新启动 iframe)