跨框架数据共享接口

跨框架数据共享接口

很多项目存在父子框架,实现跨框架共享数据有一种简单的办法,就是用js创建数据共享接口。 框架应用中有一个==固定不变的窗口叫window.top==,如果我们把数据缓存到这个页面,其下所有框架都可以获取到,无论子页面如何变幻。不需要采用Cookie,也不需要采用什么HTML5本地数据库策略,你只需要每个页面引用一个js文件,内容如下:

var Datashare = {

    /**
     * 跨框架数据共享接口
     * @param  {String}   存储的数据名
     * @param  {Any}     将要存储的任意数据(无此项则返回被查询的数据)
     */
    data: function (name, value) {
        var top = window.top,
            cache = top['_CACHE'] || {};
        top['_CACHE'] = cache;

        return value !== undefined ? cache[name] = value : cache[name];
    },

    /**
     * 数据共享删除接口
     * @param  {String}   删除的数据名
     */
    removeData: function (name) {
        var cache = window.top['_CACHE'];
        if (cache && cache[name]) delete cache[name];
    }

};

这个方法可以==共享任意类型的数据==供各个框架页面读取,它与页面名称、层级没有任何关系,就算哪天框架页面层级被修改,你也完全不用担心,它可正常工作。
你还可以在artDialog 的iframeTools扩展中看到此技术身影。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值