点击离开/关闭iframe时清除iframe内容

时间:2013-12-24 20:45:44

标签: javascript jquery iframe history clear

我制作的这个目录显示了iframe中产品的详细信息,单击时会显示。我的问题是,当他们点击离开并关闭iframe并点击新项目时,过去的项目会显示一秒钟,然后它会更改为正确的内容。我试着在内容加载之前加载一个空白的iframe,但是这没有完成任务,所以我想我可能需要添加一些代码,以便在点击它时清除iframe。

<script>
//this affect the content that is loaded in the iframe when image is clicked
$( document ).load( "pageinit", "#page1", function() {

    $(".popupInfoLink").on("click", function(){
        var url = $(this).data("popupurl");
        $( "#popupInfo iframe" ).attr("src", url);
    });

});
</script>

<a class="popupInfoLink" href="#popupInfo" data-rel="popup" data-position-to="window" data-popupurl="product.asp?itemid=[catalogid]"><img src= "/thumbnail.asp?file=[THUMBNAIL]&maxx=200&maxy=0" width="320" height="300" alt="pot" border="0" /></a>

<div data-role="popup" id="popupInfo" data-overlay-theme="a" data-theme="d" data-tolerance="15,15" class="ui-content">
    <iframe src="about:blank" width="800px" height="800px"></iframe>

2 个答案:

答案 0 :(得分:0)

我很久以前就遇到过类似的问题。我发现最好的解决方案是在JavaScript中动态添加iFrame。

$(".popupInfoLink").on("click", function(){
  var url = $(this).data("popupurl");
  var $frame = $("<iframe>").attr({ "src": url, "width": "800px", "height": "800px" });
  $("#popupInfo").append($frame);
});

然后,您可以从HTML中删除iFrame。然后你清除iFrame的代码实际上只需要从div中删除它。

答案 1 :(得分:0)

也许可以做其中之一:

jQuery('content iframe (or whatever the element is named').remove();

jQuery('content iframe').empty();

关闭iframe弹出窗口时,您可以使用其中一个命令,这样下次显示时元素中就不会显示任何内容。