首页新闻找找看学习计划

JavaScript代码的小小疑问(41)——js跨域兼容性问题

0
[已解决问题] 解决于 2015-07-23 10:54

     js跨域方法中,h5的window.postMessage();方法实现。但实只是正对IE8+,对ie6,ie7支持如何兼容处理?(毕竟ie6,ie7用户量也不少。。)

 

之前没有得到回答或没得到满意答案的问题链接:

http://q.cnblogs.com/q/73799/

Coca-code的主页 Coca-code | 初学一级 | 园豆:13
提问于:2015-07-15 23:40
< >
分享
最佳答案
0

window.postMessage是比较新的API,现代浏览器都支持,只不过恰巧IE8也支持。该函数有两个参数:

第一个参数是传输的数据,第二个参数则是源,用来表明postMessage给哪个window,而且可以跨域传输数据。

再说一下worker,worker可以理解为简化的window,也就是简化的全局对象,不支持dom对象等其他功能。不过倒是支持postMessage函数来和其他window通信。

 

如果需要支持IE6-7,那么可以试一试window.name来解决跨域问题。

奖励园豆:5
ThreeTree | 小虾三级 |园豆:1490 | 2015-07-21 14:03
其他回答(1)
0

这,你确定postMessage()是用来跨域的?这个是H5新增的js于Worker中js进行交互使用的。

幻天芒 | 园豆:36522 (高人七级) | 2015-07-16 09:11

我从别人的解决方案中挖掘的问题。理解错了吗?:)

支持(0) 反对(0) Coca-code | 园豆:13 (初学一级) | 2015-07-16 19:32

@Coca-code: 理解错了~~~

支持(0) 反对(0) 幻天芒 | 园豆:36522 (高人七级) | 2015-07-17 11:46

@幻天芒: 我现在觉越来越觉得编程的乐趣有限了。创业,有自己一个app,从而达到自身财务相对自由,然后接触自然,周游世界,体验生命应该才是一个方向。。。。

至于那个问题,它的描述是对跨域的HTML5的一个解决方法,里面涉及postMessage();方法,但兼容有问题。。

支持(0) 反对(0) Coca-code | 园豆:13 (初学一级) | 2015-07-17 17:56

@幻天芒: 在博客园,已有3个问题累积了。。

你七级会员,目前做什么?你多大?:)

支持(0) 反对(0) Coca-code | 园豆:13 (初学一级) | 2015-07-17 17:58

@Coca-code: 既然是HTML5,就别想着兼容IE6,IE7了。我想应该是使用后台worker,来达到解除了浏览器限制这条。目前做程序员哇,twenty-four.

支持(0) 反对(0) 幻天芒 | 园豆:36522 (高人七级) | 2015-07-17 18:12

@幻天芒: 哦,twenty-four,so young! 在博客园,你的帮助频率最高。可能是我遇到问题不思就问,也可能博客园这平台整得好,但是现在“知乎”也很拼。。

不瞎扯了,刚查了一下后台worker,这个技术比node有什么优越之处吗?兼容性问题,我也有其他解决方案,比如借助html5.js现成库,require进去。我倒是觉得手机无限加载图片,图片上有button,怎么做最好?前端要不要把这个东西做成组建,后端用rest怎么请求,用户拇指一下拉,要不要做传输数目的规定,和传输数据格式的转化和压缩等等。。。

 

这部分内容不知道敢不敢兴趣,接没接触过哦?

支持(0) 反对(0) Coca-code | 园豆:13 (初学一级) | 2015-07-17 18:34

@Coca-code: 想复杂了,Worker和nodeJs没什么对比性,作用都不一样。手机无限加载图片,实现很容易,关键是如何解决当内容过多,卡顿的问题。实际处理上,一般都是将不可示的部分从dom中移除掉。

数目肯定会找一个合适的值,数据传输也就是url的传输,一般采用json,同时开启gzip。

支持(0) 反对(0) 幻天芒 | 园豆:36522 (高人七级) | 2015-07-17 18:39

@幻天芒: dom去掉会改良卡顿,但是回滚呢,还是加载dom,应是去掉url的json内容,。。

但肯定还有前后端的办法。。

支持(0) 反对(0) Coca-code | 园豆:13 (初学一级) | 2015-07-17 18:50

@Coca-code: 回滚,又重新去加载回来。。这个时候,可以借助浏览器的图片缓存了,会很快。

支持(0) 反对(0) 幻天芒 | 园豆:36522 (高人七级) | 2015-07-17 18:51

@幻天芒: 缓存它只存后台数据ma ?我是想缓存一多,也会卡... ...

刚网上看到“浏览器迷你数据库技术”,非浏览器缓存。也许这个可以解决问题

支持(0) 反对(0) Coca-code | 园豆:13 (初学一级) | 2015-07-17 18:59

@Coca-code: 这个大不了就是IndexedDB或者是Web SQL。麻烦~我没明白浏览器缓存为什么会卡。卡顿是处在dom树过大上面的。

支持(0) 反对(0) 幻天芒 | 园豆:36522 (高人七级) | 2015-07-17 21:39
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册