• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

    FrameController.js: 一个 网页 框架( <iframe>)管理项目,优雅的处理单页多 ...

    原作者: [db:作者] 来自: 网络 收藏 邀请

    开源软件名称:

    FrameController.js

    开源软件地址:

    https://gitee.com/mqycn/FrameController.js

    开源软件介绍:

    FrameController.js

    项目介绍

    优雅的处理单页多框架(<iframe>)窗口管理同步问题

    安装教程

    下载后安装到 网站的任意目录,打开 http://您的域名/安装路径/demo/demo.html 即可进行测试。(因为本地浏览器会显示iframe,所以必须放到Web服务器中)

    在线测试地址:http://www.miaoqiyuan.cn/products/frame-controller/

    消息数据结构

    {    event: '事件名称',    type: 'child',    target: '内嵌页的window',    data: '传递的数据,即FrameController.broadcast(event, data)的data',    frameId: '内嵌页标志'}

    使用说明

    1、点击发送通知,所有打开的内嵌页都会受到通知。

    基础事件

    var addLog = function(from, event, data) {    var _old = $('#log').html().substring(0, 3000);    $('#log').html(        (logTpl + _old)        .replace('#EVENT#', event)        .replace('#DATA#', JSON.stringify(data))        .replace('#SOURCE#', from)    );    console.log('event:', event, 'data:', data);}; //同步通知FrameController.addListener('broadcast', function(e) {    $('#msg').val(e.data.msg);    addLog(e.frameId, e.event, e.data);}); //发送广播$('#send').click(function() {    var nums = FrameController.broadcast('broadcast', {        msg: $('#msg').val()    });    $('#log').html('通知成功:' + nums + '\n\n' + $('#log').html());}); //更新输入状态$('#msg').change(function() {    FrameController.broadcast('change', {        text: '输入框内容已更改:' + $(this).val()    });}); //更新状态FrameController.addListener('change', function(e) {    addLog(e.frameId, e.event, e.data);});

    2、新增 内嵌页,关闭内嵌页,可以通过:FrameController.addListener('frame.add',func)、FrameController.addListener('frame.remove',func) 进行监听

    新开、关闭事件

    //监听系统事件var addLog = function(from, event, data) {    var _old = $('#log').html().substring(0, 3000);    $('#log').html(        (logTpl + _old)        .replace('#EVENT#', event)        .replace('#DATA#', JSON.stringify(data))        .replace('#SOURCE#', from)    );    console.log('event:', event, 'data:', data);}; //监听系统事件FrameController.addListener('frame.remove', function(e) {    addLog(e.frameId, e.event, e.data);});FrameController.addListener('frame.add', function(e) {    addLog(e.frameId, e.event, e.data);});

    3、可以对一个事件增加多个监听方法,可以删除所有监听方法、删除某一个监听方法

    事件添加和删除

    var logTpl = '事件:#EVENT# 来源:#SOURCE#\n数据:#DATA#\n\n',    addLog = function(from, event, data) {        var _old = $('#log').html().substring(0, 3000);        $('#log').html(            (logTpl + _old)            .replace('#EVENT#', event)            .replace('#DATA#', JSON.stringify(data))            .replace('#SOURCE#', from)        );        console.log('event:', event, 'data:', data);    },    msgEventListener = function(e) {        $('#log').html('自定义事件已经触发,添加多次会触发多次\n\n' + $('#log').html());    };  //添加自定义事件$('#add_custom').click(function() {    FrameController.addListener('broadcast', msgEventListener);}); //删除自定义事件$('#remove_custom').click(function() {    FrameController.removeListener('broadcast', msgEventListener);});

    更多说明请访问:http://www.miaoqiyuan.cn/p/framecontroller-js


    鲜花

    握手

    雷人

    路过

    鸡蛋
    该文章已有0人参与评论

    请发表评论

    全部评论

    专题导读
    热门推荐
    阅读排行榜

    扫描微信二维码

    查看手机版网站

    随时了解更新最新资讯

    139-2527-9053

    在线客服(服务时间 9:00~18:00)

    在线QQ客服
    地址:深圳市南山区西丽大学城创智工业园
    电邮:jeky_zhao#qq.com
    移动电话:139-2527-9053

    Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap