• 在H+框架下的一个给iframe 的body 添加事件。


    需求,在后台框架下面点击F5的时候只刷新子页面,不刷新主站点,(菜单表来自同域名下的不同的站点,里面涉及到跨域问题。通过document.domain可解决)

    想法在点击F5的时候阻止父页面的刷新,并获取当前iframe的src 重新刷新即可。

    但是遇到一个问题,在主站点的添加方法之后,每个子站点都要给body添加一个方法调用主站点的刷新方法,一行代码,但是每次都要写,有点啰嗦了。

    所以想在添加子站点的时候直接给iframe中的body添加事件,

    所以有以下代码

    //判断iframe 加载完成,给body 添加事件

    $('.J_mainContent iframe:visible').load(function () {
    $($(this)[0]).context.contentDocument.body.onkeydown = function (e) {
    refresh(e);
    };
    });

    function refresh(e) {

    if (e.keyCode == 116) {
    e.preventDefault();
    $(".J_menuTabs").find("a").each(function (index, sender) {
    if ($(sender).hasClass("active")) {
    //显示loading提示
    var loading = layer.load();
    var target = $('.J_iframe[data-id="' + $(sender).data('id') + '"]');
    var url = target.attr('src');
    target.attr('src', url).load(function () {
    //关闭loading提示
    layer.close(loading);
    });
    return false;
    }
    });
    }
    }

    只需要我用到的后台框架,通用性未知。

  • 相关阅读:
    JAVA 设计模式 组合模式
    JAVA 设计模式 模板方法模式
    SpringBoot 数据篇之使用JDBC
    [Spring]01_环境配置
    [spring]03_装配Bean
    [Spring]04_最小化Spring XML配置
    [Quartz笔记]玩转定时调度
    [Spring]支持注解的Spring调度器
    asp.net core 系列 13 日志
    asp.net core 系列 12 选项 TOptions
  • 原文地址:https://www.cnblogs.com/CnnBlog/p/11050072.html
Copyright © 2020-2023  润新知