jQuery在iframe上加载消息

时间:2019-03-11 14:59:27

标签: javascript jquery

我有以下代码,这些代码会将所有href点击都加载到iframe中。但是,某些页面的加载可能需要花费几秒钟的时间,因此我想显示一个加载图标,其中iframe元素显示为灰色,直到内容加载完毕,然后隐藏该加载元素。过去我曾经使用过ajaxStart和ajaxStop函数,这些函数效果很好,但是看到页面没有被Ajax调用,我认为这不会起作用。有人可以建议如何做到吗?

<iframe src="/dashboard" name="contentFrame" id="contentFrame"></iframe>

<script type="text/javascript">

$(document).ready(function(){
    $("a").click(function(e) {
        e.preventDefault();
        $("#contentFrame").attr("src", $(this).attr("href"));
    })
});

1 个答案:

答案 0 :(得分:0)

在更改iframe src属性之前,您可以显示显示正在加载的图标,而不是ajaxStart:

$("a").click(function(e) {
      e.preventDefault();
      // show your icon here
      $("#contentFrame").attr("src", $(this).attr("href"));
})

而且,可以使用load event代替ajaxStop:

$("#contentFrame").on('load', function(e) {
    // remove your icon here
})