Giter VIP home page Giter VIP logo

messengerjs's People

Contributors

antife-yinyue avatar biqing avatar mz121star avatar netputer avatar xiabeifeng avatar zzbo avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

messengerjs's Issues

QC 是什么

新版直接用 QC.module 直接导致代码无法执行,感觉很莫名其妙啊……

而且原文档、 Demo 也失效了,请更新一下,谢谢~

源码中this.target.postMessage(..., '*') ,此处的*为什么不替换成target的origin域名

平时不用postMessage,主要考虑到的是postMessage发送到其他域信息如果被存储下来,其他页可以onmessage全盘接收保存,不太安全,是否可以在发送一次消息后,获取当前域名,下次发送时,直接指定域名呢,毕竟指定了iframe的名称,通过名称map映射到对应的origin,存储origin再返回给发送发,下次发送时自动带上?更或者初始化target时,自动就做一下origin映射,是否可以?

关于initListen方法中的逻辑咨询

Messenger.prototype.initListen的方法中有如下代码逻辑:
for(var i = 0; i < self.listenFunc.length; i++){
if (prefix + name === self.prefix + self.name) {
self.listenFunci;
}
}
这里可以把if的判断放到外面吗,针对一个回调时,prefix和name是不变的了吧,应该只要判断一次就可以进行for循环了,而现在这种写法是在每次循环时都要判断一次,有什么深意吗?

跨域安全性

请问父子窗口通过JSON string的方式传递消息,对于嵌入的第三方子页面,传递的消息安全性该如何保证?
是否只能通过开发者自行保证,对数据安全性进行严格校验?
谢谢~

不传入projectName时出错

prefix = projectName.toString() || prefix;

new Messenger()的时候,不传入projectName, 会在undefined上面调用函数,导致报错。
网站的demo,能用最新的js文件吗?保持同步,有问题就能看出来了

对象传递

您好!在跨iframe有很多情况是对象或者方法的共享,但是目前是传递的字符串的方式,能否直接传递对象,然后对象共享

为什么不考虑直接发送对象呢?

postMessage或者是navigator都支持直接send object,这里为什么仅仅提供字符串的msg呢?求解惑。

个人比较喜欢直接发送{eventName: 'xxx', data: object} 这种对象。

ie6下面数据不通啊

// 兼容IE 6/7那块
targetFunc(this.prefix + msg, window);
传递的参数跟上面this.target.postMessage(this.prefix + '|' + this.name + 'Messenger' + msg, '*');不一致,
但是监听处理那块msg.split('Messenger');还是以用了Messenger这个字符做分割,导致ie6不行。。
messenger.addTarget(window.parent.frames[1], 'iframe2');
window.parent.frames[1]这个貌似报错。。。

这个能跨大域么?

我看了demo,是主域名和二级域名之间的跨域,不知道能不能跨大域,两个不同域名间能使用么?

ie6/7下的问题

msg不能为数字,否则剥离了默认的消息前缀后,数字参数不能被调用

发消息丢失

hi,我在一个jsp页面用messager广播一个消息,在另外一个jsp页面用messager监听消息

  1. 消息发送页面
    var msg = " {code:10244,message:'testmessage!',datasource:'usrsys'}";
    messenger.send(msg);
  2. 消息监听页面
    messenger.listen(function (msg) {
    alert(msg);//FF浏览器此处消息被截取了,只能收到部分字符。Chorme浏览器会在消息前附加Messager= 这样的字符。
    });

在纯html页面没有发生上述问题。

浏览器:FF 32.0.3。Chorme 35.0.1916.153
联系方式:[email protected]

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.