sadkilo

sadkilo

150飞吻 2017-3-22 加入 来自null

(这个人懒得留下签名)

sadkilo 最近的提问

sadkilo 最近的回答

  • 2019-8-18 17:58:20layer Iframe 传值设计模式(在下献丑了)中回答:

    你自己玩, 我懒得费口水了[哈欠]
  • 2019-8-18 16:53:46layer Iframe 传值设计模式(在下献丑了)中回答:

    1.首先,存值用的是{}, 所以同一个业务的传值次数, 不会使内存增加;
    除非业务种类实在很多, 或者传值是一个很大体积的数据, 否则不用考虑 内存溢出.
    如果你是有代码洁癖, 那么新增一个数据清除的函数就好了, 每次数据使用后清除
    function iframeDelData(attr){
    var top = window.top;
    var cache=top['_CACHE'];
    if(cache && attr){
    delete cache[attr];
    }
    };

    第二, 引用你最后一句
    综上所述:在某些场景下方案A更适用,在规范性、安全可靠性 方案B更通用
    你怕是转牛角尖了[黑线]
    ①技术上的通用性
    首先, iframeData不局限于 layer, 只要用到iframe且不出现跨域的情况, 都适用
    而你的方案, 必须要用layer
    ②业务上的通用性
    举例有一个业务场景
    A-->B-->C(A打开B,B又可以打开C)
    如果业务上需要, A传值给B, 而A 又需要传值给C;
    这时候, 你的方案, 使用上就很不便, 由于你的是点对点的传值, 所以 iframe的层级不同, 用户就要额外针对情况编写代码
    而iframeData, 由于用了top作为中间层, 所以业务上,是全场景通用的
    总结, 在通用性上, iframeData完胜

    结论, 你的方案, 如果项目组选定了layer , 其实也可以用, 但是偏偏需要修改源码; 如果后续我要更新layui或layer怎么办?每次都要记得修改layer的代码? 如果项目组换人了, 以后谁还记得?
    所以...你的方案,基本可以淘汰
    最后 提醒一句, 代码入侵,,不到最后不要考虑.......
  • 2019-8-18 4:33:20layer Iframe 传值设计模式(在下献丑了)中回答:

    其实iframe的传值很早就有比较好的解决方案,只需要1个简单工具函数的函数即可完美解决
    原理:
    不管是父页面,还是子页面,还是孙页面, 都有一个顶级的top, (父页面的top即为自己)
    因此我们可以将top 看作云, 各个页面间的传值都先经过云

    /**iframe的传值函数**/
    function iframeData(attr,val){
    var top = window.top;
    var cache=top['_CACHE'] || {};
    top['_CACHE'] =cache;
    return (arguments.length===1) ? cache[attr] : cache[attr] = val;
    };

    例子 父传给子
    父页面传递值 iframeData("parentname","来自父页面的你");
    子页面获取值 iframeData("parentname");

    例子 子传给父
    子页面传递值 iframeData("childname","来自子页面的你");
    父页面获取值 iframeData("childname");

  • 2018-7-4 15:53:19table的一个较大的BUG中回答:

    @岁月小偷 看了那地址, 提到的建议都很不错[good]
    本来不喜欢使用所谓的模板, 在表格中应用场景其实十分少, 明明一个简单的function就可以解决的事, 偏偏要用更复杂效率更低的模板
  • 2018-7-4 15:46:26table的一个较大的BUG中回答:

    @Violet_Ice紫冰 我的是2.3.0
  • 2018-7-4 11:2:57table的一个较大的BUG中回答:

    @丨末 这个bug是存在的,由于我实际使用改成了模板才能解决问题, 所以那个function是发帖临时写的
  • 2017-3-22 21:47:19vip-admin Html v1.5.0 更新了 - 基于layui的后台模板 中回答:

    可以免费用么?收费不?谢谢
  • 2017-3-22 21:46:46vip-admin Html v1.5.0 更新了 - 基于layui的后台模板 中回答:

    可以直接那来用么?