V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Ladyson
V2EX  ›  前端开发

一个页面多个 iframe 之间的传值,除了 url 和 cookies 以外,还有其他更好的方法吗?

  •  
  •   Ladyson · 2015-01-16 09:15:19 +08:00 · 3508 次点击
    这是一个创建于 3618 天前的主题,其中的信息可能已经有所发展或是发生改变。

    一个页面多个iframe之间的传值,除了url和cookies以外,还有其他更好的方法吗?

    15 条回复    2015-01-16 17:09:40 +08:00
    foomorrow
        1
    foomorrow  
       2015-01-16 09:53:54 +08:00
    就是别用iframe,而且这些传值,应该是由后端完成的,http协议本来就是无状态的
    shangjiyu
        3
    shangjiyu  
       2015-01-16 10:06:30 +08:00   ❤️ 1
    self.top.frame.foo.bar ?
    kisshere
        4
    kisshere  
       2015-01-16 10:54:23 +08:00 via Android
    没跨域的话,js传值也可以
    bigcoon
        5
    bigcoon  
       2015-01-16 10:55:24 +08:00 via iPhone
    lo ca l s to re
    Fechin
        6
    Fechin  
       2015-01-16 11:07:20 +08:00   ❤️ 1
    可以了解下HTML5的window.postMessage API,通过postMessage方法和onmessage事件协调传值,
    找到iframe中的window对象:
    var win = document.getElementById("iframe").contentWindow;
    quix
        7
    quix  
       2015-01-16 13:13:05 +08:00   ❤️ 1
    http://amplifyjs.com/
    通用组件通讯框架
    belin520
        8
    belin520  
       2015-01-16 13:42:56 +08:00   ❤️ 1
    https://github.com/biqing/MessengerJS
    跨文档通信解决方案
    andy12530
        9
    andy12530  
       2015-01-16 13:44:22 +08:00   ❤️ 1
    https://github.com/andy12530/iframe-rpc2

    兼容到 IE6,iframe远程远程调用。
    Ladyson
        10
    Ladyson  
    OP
       2015-01-16 14:08:57 +08:00
    @foomorrow 因为我这个项目没用到任何的第三方框架,不然的话可以用angular或者node解决
    davidyin
        11
    davidyin  
       2015-01-16 14:11:28 +08:00
    中间值都存在数据库可以吗?
    Ladyson
        12
    Ladyson  
    OP
       2015-01-16 14:12:33 +08:00
    @davidyin 这样数据库会累的
    quix
        13
    quix  
       2015-01-16 14:42:16 +08:00
    @Ladyson 走数据库的话, 用 redis 最好, 当然这样还不如直接用 faye 或者更牛的 http://crossbar.io/ 这种向 realtime 发展
    davidyin
        14
    davidyin  
       2015-01-16 15:03:16 +08:00
    @Ladyson 用session可以么
    Ladyson
        15
    Ladyson  
    OP
       2015-01-16 17:09:40 +08:00
    @davidyin 是可以的,但是这也会担心用户使用无痕模式,哈哈哈
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3116 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 04:57 · PVG 12:57 · LAX 20:57 · JFK 23:57
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.