- JSPatch原理学习
Nomo_C
基础原理OC为动态语言,OC上所有的方法调用/类的生成都通过Objective-CRuntime在运行时进行,可通过类名/方法名反射得到相应的类和方法:Classclass=NSClassFromString(@"UIViewController");idvc=[[classalloc]init];SELsel=NSSelectorFromString(@"viewDidLoad");[vcper
- iOS热更新探讨
Mi欧阳
过去的热修复以及被禁止的原因1.最著名的JSPatchJSPatch自2017年被禁已过去2年。(JSPatch官网:http://www.jspatch.com/)他们自己可能还没放弃,还在寻求解决方案。2.苹果对于热更新的驳回邮件Yourapp,extension,and/orlinkedframeworkappearstocontaincodedesignedexplicitlywithth
- iOS_高质量博客收集
耀敬业
没有故事的卓同学玉令天下腾讯杨萧玉的博客,底层细节能深入到汇编的实现,令人惊叹。MrPeak杂货铺Peak以一系列TCP/IP相关的文章让人折服,之前博客更新频率很高,多有涉猎。17年底去facebook赚奶粉钱后更新频率有所下降,望早日回归。CasaTaloyumCasa对架构有很深的理解,《iOS应用架构谈》系列文章影响深远。bang'sblogJSPatch作者bang的博客。稳定更新,每篇
- React Native使用react-native-pushy热更新审核被拒
langkee
前言个人博客网站:陈龙的个人博客今年,综合了一些考虑,选择了GitHub:react-native-pushy作为热更新,在前面的两个版本使用了热更新,但是没有被拒,上线都比较顺利,直到这个版本,第二天直接被苹果拒绝!前有WaxPatch和JSPatch等热修复框架,因为会调用私有API、篡改原生代码的能力而被苹果拒之门外,接着苹果允许ReactNative的这种不会修改原生代码、只更新js代码和
- jspatch原理简析
Adam_潜
在startEngine函数中,给jscontext定义了一个方法context[@"_OC_defineClass"]=^(NSString*classDeclaration,JSValue*instanceMethods,JSValue*classMethods){returndefineClass(classDeclaration,instanceMethods,classMethods);
- iOS JSPatch简单使用
关灯看大腿
什么是JSPatch?JSPatch是一个开源项目(Github链接),只需要在项目里引入极小的引擎文件,就可以使用JavaScript调用任何Objective-C的原生接口,替换任意Objective-C原生方法。目前主要用于下发JS脚本替换原生Objective-C代码,实时修复线上bug。除了修复bug,JSPatch也可以用于动态运营,实时修改线上APP行为,或动态添加功能。JSPatc
- 2018-05-16 关于热更新的一些想法
BoooBooo冰Booo
在IT领域,大前端,AI人工智能,大数据大火的情况下,移动端显得有些凄凉,特别是iOS,打包上架异常繁琐不说,审核还时不时出现问题,所以就有了一些炙手可热的热更新技术(JSpatch[1],RN[2]等).刚刚睡醒,一个想法出现在眼前,自己动手实现一个热更新,可能会受制于后端,如果后端能够配合并加以设计,那就完美了。我的想法-app写一套正常的代码-利用Aspects的Aop运行时hook,在已有
- JSPatch 从入门到放弃
天下林子
JSPatch可以让你用JavaScript书写原生iOSAPP。只需在项目引入极小的引擎,就可以使用JavaScript调用任何Objective-C的原生接口,获得脚本语言的优势:为项目动态添加模块,或替换项目原生代码动态修复bug。一、JSPatch的基础使用在了解了JSPatch的基本概念之后,我们来看一下JSPatch的使用方式。1.require在JSPatch中使用OC类之前都需要先
- iOS_swift项目热修复
彩色大猩猩
1.业界常用方案1)主要分为两类接入成本名称思路成本低JSPatch、MangoFix、Rollout.io、DynamicCocoa利用runtime1)找到这个函数。2)找到之后修改、替换这个函数。成本高MLN、Weex、ReactNative、Hybrid、flutter一套代码(js)多端运行,类似前端页面的方式热修复热更新,不需走苹果审核。注:成本低:引入极小的引擎文件,即系统内置的Ja
- (转)iOS 基于JSCore的混合应用开发
大成小栈
仅靠前端技术难以满足移动端的用户需求或体验要求,为了折中让程序即有Native的顺滑体验,又有前端的热更新效果,于是业界开发了小程序框架。很多小程序框架是基于JSCore完成前端与Native交互的方式的,下面我们来了解一下JSCore原理和通信机制,以及JSPatch实现的原理。JSCore简介JSCore的角色是做为一个桥梁,其实就是Bridge,来协调JS与Native通信的。浏览器内核的模
- iOS 热更新JSPatch
晴朗Nic
1.倒入核心文件的名字JPEngine.m、JPEngine.h、JSPatch.js。2.在AppDelegate.m的-(BOOL)application:(UIApplication*)applicationdidFinishLaunchingWithOptions:(NSDictionary*)launchOptions注入相对应的JS代码用于修复或者增加功能。-(BOOL)applica
- JSPush
碎梦_aimee
关于JSPatch的原理剖析以及使用方法介绍,网上已经有很多文章,我也不班门弄斧了,这里有两篇文章,都是作者bang自己写的,参考意义比较大,适合大家学习。 JSPatch实现原理详解 【腾讯Bugly干货分享】JSPatch成长之路编写JSPatch脚本文件语法JSPatch的github地址。
- JSPatch通过 JS 调用和改写 OC 方法
说不出情绪
最根本的原因:OC是动态语言,OC上所有方法的调用/类的生成都通过Objective-CRuntime在运行时进行,通过类名/方法名反射得到相应的类和方法。分析:截屏2019-12-18下午2.07.38.png1.require在JS全局作用域上创建一个同名变量,变量指向一个对象,对象属性__clsName保存类名,同时表明这个对象是一个OCClass。{__clsName:"UIView"}2
- 【GitCracken】v8.1.1
等风来不如迎风去
linux菜鸟手记windows环境编程服务器javascript前端
gitkraken下载的是最新版https://www.gitkraken.com/download参考crack参考windows命令:nodedist/bin/gitcracken.jspatcher--asarC:\\Users\\zhangbin\\AppData\\Local\\gitkraken\\app-8.1.1\\resources\\app.asar8.1.1下载地址linux
- 聊聊热更新
重案组之虎曹达华_
想写这篇文章挺久了,今天我们来聊一聊热更新。0x01.前言国内开发者对于热更新不可谓不热衷,前仆后继地发明一个又一个新思路,我自己也是对热更新特别感兴趣,尤其对iOS来说,这更是一片敏感的灰色地带,自从jspatch被苹果警告之后,各家公司的热更需求依然没有减弱,因此这个话题变得相当微妙,各家公司都有一些自己的方案,并且不再开源,因为开源意味着会像jspatch一样变成把子,业界最著名的Dynam
- 2022-11-15记录一次appstore上线,遇到的坑
zhangwenqiang
1.jspatch和bugly这种调用dlopen和dlsym的库,坚决不能用,否则等着other,等一个多月吧。2.代码中不能有蒲公英等可以下载app的网站。3.不能有支付
- Runtime实际应用场景详解
Kevin_wzx
目录1.给分类增加属性2.方法添加和替换和KVO实现3.weak释放nil的过程4.消息转发(热更新)解决Bug(JSPatch)5.实现NSCoding的自动归档和自动解档6.实现字典和模型的自动转换(MJExtension)7.[selfclass]和[superclass]8.Runtime补充说明相关链接:https://juejin.cn/post/6844903586216804359
- 高质量博客推荐
华语新空
高质量博客推荐OneV'sDen大家尊称为喵神。对Swift技术在国内的推广做了很大的贡献。Limboy’sHQ李忠关于RAC、组件化的文章流传很广。博客中对架构、编程的思考都很精髓。听说现在转管理后不太更新技术文了。CasaTaloyumCasa对架构有很深的理解,iOS应用架构谈组件化方案系列文章影响深远。bang’sblogJSPatch作者bang的博客。稳定更新,每篇文章质量都很高。Ga
- iOS热更新探究
贝灬小晖
在任意方法前后注入代码的能力,可能的话最好还能替换掉。调用任意类/实例方法的能力。使用JSContext开一个接口然后进行oc方法的调用聊聊热更新numberOfSections(in:)所以现在有了两套热更新的方案JSPatch使用JSContext开一个接口,使用Aspect切面的调用方法二期:看jspatch脚本下方与使用在Mac终端上执行openssl,再执行以下三句命令,生成PKCS8格
- 跟诸子学游戏 iOS上面热更新
诸子百家谁的天下
iOS上面为什么会禁止jspatch等库,而可以允许unity3d进行热更新呢热更新在概念上面分为资源更新和代码逻辑更新A资源更新是指:图片,3D图形,数据更新等.B代码逻辑更新是指:利用在线下环境写的代码,再上线环境通过iOS手机"内置的代码运行器"动态执行这些更新的代码,进行逻辑更新,通过这种操作,理论上可以获取手机的root权限.原因如下:(ps在搜索大部分原因之后,觉得最靠谱的说法)1)开
- iOS开发 MangoFix结合码云储存补丁文件实现热更新
深圳阳光
选择技术实现方案近段时间,由于公司要求需要增加热更新或热修复功能,这个开发需求让我有点头疼。记忆中苹果公司已于2017年3月禁止了JSPatch那种方式的热更新,我只好放弃JSPatch这种方案。网上找了一圈,只有TTPatch和MangoFix这两个框架可行,但这两个框架目前都不支持swift语言开发的项目。由于我手上的公司项目代码还是OC开发的项目,不影响使用这两个框架。TTPatch是JSP
- 深入理解 iOS 热修复原理
鄒鄒zzyong
原文链接背景顾名思义热修复就是使App具备线上修复bug的能力,但是遗憾的是苹果出于安全的考虑禁用了热修复。虽然App审核加快了,但是依然无法很好的控制线上bug的影响范围。由于JSPatch存在审核风险,所以我们需要另辟蹊径,自研一套适合自己的热修复框架。目标大部分线上bug并不需要完全替换原方法实现才能修复问题,我们可以在原来的方法实现前后增加一些自定的方法调用,或者是修改原方法的调用参数,或
- IOS 2020 热更新
刃之剑
先夸夸JSPatch,平台SDK1.7.2以上版本可以通过苹果审核,可以正常使用。Github开源版本暂不可用。暂时1.8.0是需要付费使用的.还需要联系获得,跟阿里的热更新差不多.阿里的热更新需要月活20万才可以接入,才给SDK包.如果需要自己做热更新的,还是企业账号的可以使用1.7.2的包自己做更新,1.8.0还会自己弹框应该是交钱才能去掉测试弹框.一、JSPatchhttp://www.js
- JSPatch在项目中的运用
bluesea哈哈哈
JSPatch是基于JavaScript的框架,而且看到很多项目在运用,eg:滴滴、猫眼等一些体量比较大的app在用,因此我想在我们APP里面运用。JSPatch用RSA算法来进行文件加密的验证1.首先我们要生成RSA算法用的密钥和公钥使用openssl命令行生成密钥对按照提示,填入私钥密码、签名证书的组织名、邮件等信息以后就会生成包含有公钥的证书文件public_key.der合私钥文件priv
- Mango 文档
贪恋冬天的幸福
一、Mango简介Mango一种与Objective-C语法非常相似的语言脚本,也是一种iOS程序hotfix的执行方案,可以使用Mango方法替换任何Objective-C对象方法。原理简单介绍自定义的执行引擎Mango(包含词法、语法解析)运行时动态替换hotifix中的API,真正hotfix代码执行时,对每一行脚本(DSL)代码解析执行。和jspatch的唯一差别就是jspatch多一个J
- iOS JSPatch 解析array里的dictionary对象
卤蛋两枚
相信大家使用JSPatch的时候会遇到数据解析的问题,话不多说,直接贴代码将如下json解析出来data={soldArr=({createtime=1524468462000;id=8ba1141f19e74756ae10c4ad0bca9d06;"img_minus"="http://qiniu.yuzhilai.com/album/img_minus/1522635148685";name=
- 基于OCRunner二进制热更新实践
王看山
之前公司项目使用的是JSPatch老的版本做的热更(最新的要收费),每次发布补丁的时候都要做改动方法或者类的OC代码转成JS代码的修正,头有点大,改个小bug调试起来也比较麻烦。于是想着能不能不通过JSCore下发的方式做热更呢,去github上面搜了一波,无意中找到了基于二进制热更的方案,配置好后不用再做代码的转换和翻译,直接生成二进制文件,当补丁用就把bug给修复了。先放下二进制热更的原理图二
- 资源共享
迎风起飞的猪
博客博客博客博客博客博客博客博客博客博客博客博客博客博客博客博客博客博客李忠(limboy):来自蘑菇街,RAC实践的国内先驱者http://limboy.me/Bang的博客:目前就职于Tutuso,JSPatch作者http://blog.cnbang.net/王巍的博客:王巍目前在日本横滨任职于LINE。工作内容主要进行Unity3D开发和iOS开发。他维护Swift使用技巧分享网站Swif
- 常用网址
xiaoke123456
1.json解析2.颜色值转换3.json在线视图查看器4.图片压缩5.一步快速获取iOS设备的UDID6.代码托管平台fir7.图标工厂--一键生成所有尺寸的应用图标8.代码转换平台JSPatch9.devtang10.在线生成非对称加密11.swift学习12.mark飞象13.iOS-Swift-Developer
- Runtime最佳实践之Aspects
蝴蝶之梦天使
来之网络闯荡开发那些街有谁不识Runtime但却只闻黑魔法从未项目运乾坤一、前言使用Objective-C开发iOS项目,一定听多了Runtime也用了很多采用黑魔法的第三方库。比如1.Aspects(AOP必备,“取缔”baseVC,无侵入埋点)2.MJExtension(JSON转model,一行代码实现NSCoding协议的自动归档和解档)3.JSPatch(动态下发JS进行热修复)4.Nu
- 统一思想认识
永夜-极光
思想
1.统一思想认识的基础,才能有的放矢
原因:
总有一种描述事物的方式最贴近本质,最容易让人理解.
如何让教育更轻松,在于找到最适合学生的方式.
难点在于,如何模拟对方的思维基础选择合适的方式. &
- Joda Time使用笔记
bylijinnan
javajoda time
Joda Time的介绍可以参考这篇文章:
http://www.ibm.com/developerworks/cn/java/j-jodatime.html
工作中也常常用到Joda Time,为了避免每次使用都查API,记录一下常用的用法:
/**
* DateTime变化(增减)
*/
@Tes
- FileUtils API
eksliang
FileUtilsFileUtils API
转载请出自出处:http://eksliang.iteye.com/blog/2217374 一、概述
这是一个Java操作文件的常用库,是Apache对java的IO包的封装,这里面有两个非常核心的类FilenameUtils跟FileUtils,其中FilenameUtils是对文件名操作的封装;FileUtils是文件封装,开发中对文件的操作,几乎都可以在这个框架里面找到。 非常的好用。
- 各种新兴技术
不懂事的小屁孩
技术
1:gradle Gradle 是以 Groovy 语言为基础,面向Java应用为主。基于DSL(领域特定语言)语法的自动化构建工具。
现在构建系统常用到maven工具,现在有更容易上手的gradle,
搭建java环境:
http://www.ibm.com/developerworks/cn/opensource/os-cn-gradle/
搭建android环境:
http://m
- tomcat6的https双向认证
酷的飞上天空
tomcat6
1.生成服务器端证书
keytool -genkey -keyalg RSA -dname "cn=localhost,ou=sango,o=none,l=china,st=beijing,c=cn" -alias server -keypass password -keystore server.jks -storepass password -validity 36
- 托管虚拟桌面市场势不可挡
蓝儿唯美
用户还需要冗余的数据中心,dinCloud的高级副总裁兼首席营销官Ali Din指出。该公司转售一个MSP可以让用户登录并管理和提供服务的用于DaaS的云自动化控制台,提供服务或者MSP也可以自己来控制。
在某些情况下,MSP会在dinCloud的云服务上进行服务分层,如监控和补丁管理。
MSP的利润空间将根据其参与的程度而有所不同,Din说。
“我们有一些合作伙伴负责将我们推荐给客户作为个
- spring学习——xml文件的配置
a-john
spring
在Spring的学习中,对于其xml文件的配置是必不可少的。在Spring的多种装配Bean的方式中,采用XML配置也是最常见的。以下是一个简单的XML配置文件:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.or
- HDU 4342 History repeat itself 模拟
aijuans
模拟
来源:http://acm.hdu.edu.cn/showproblem.php?pid=4342
题意:首先让求第几个非平方数,然后求从1到该数之间的每个sqrt(i)的下取整的和。
思路:一个简单的模拟题目,但是由于数据范围大,需要用__int64。我们可以首先把平方数筛选出来,假如让求第n个非平方数的话,看n前面有多少个平方数,假设有x个,则第n个非平方数就是n+x。注意两种特殊情况,即
- java中最常用jar包的用途
asia007
java
java中最常用jar包的用途
jar包用途axis.jarSOAP引擎包commons-discovery-0.2.jar用来发现、查找和实现可插入式接口,提供一些一般类实例化、单件的生命周期管理的常用方法.jaxrpc.jarAxis运行所需要的组件包saaj.jar创建到端点的点到点连接的方法、创建并处理SOAP消息和附件的方法,以及接收和处理SOAP错误的方法. w
- ajax获取Struts框架中的json编码异常和Struts中的主控制器异常的解决办法
百合不是茶
jsjson编码返回异常
一:ajax获取自定义Struts框架中的json编码 出现以下 问题:
1,强制flush输出 json编码打印在首页
2, 不强制flush js会解析json 打印出来的是错误的jsp页面 却没有跳转到错误页面
3, ajax中的dataType的json 改为text 会
- JUnit使用的设计模式
bijian1013
java设计模式JUnit
JUnit源代码涉及使用了大量设计模式
1、模板方法模式(Template Method)
定义一个操作中的算法骨架,而将一些步骤延伸到子类中去,使得子类可以不改变一个算法的结构,即可重新定义该算法的某些特定步骤。这里需要复用的是算法的结构,也就是步骤,而步骤的实现可以在子类中完成。
 
- Linux常用命令(摘录)
sunjing
crondchkconfig
chkconfig --list 查看linux所有服务
chkconfig --add servicename 添加linux服务
netstat -apn | grep 8080 查看端口占用
env 查看所有环境变量
echo $JAVA_HOME 查看JAVA_HOME环境变量
安装编译器
yum install -y gcc
- 【Hadoop一】Hadoop伪集群环境搭建
bit1129
hadoop
结合网上多份文档,不断反复的修正hadoop启动和运行过程中出现的问题,终于把Hadoop2.5.2伪分布式安装起来,跑通了wordcount例子。Hadoop的安装复杂性的体现之一是,Hadoop的安装文档非常多,但是能一个文档走下来的少之又少,尤其是Hadoop不同版本的配置差异非常的大。Hadoop2.5.2于前两天发布,但是它的配置跟2.5.0,2.5.1没有分别。 &nb
- Anychart图表系列五之事件监听
白糖_
chart
创建图表事件监听非常简单:首先是通过addEventListener('监听类型',js监听方法)添加事件监听,然后在js监听方法中定义具体监听逻辑。
以钻取操作为例,当用户点击图表某一个point的时候弹出point的name和value,代码如下:
<script>
//创建AnyChart
var chart = new AnyChart();
//添加钻取操作&quo
- Web前端相关段子
braveCS
web前端
Web标准:结构、样式和行为分离
使用语义化标签
0)标签的语义:使用有良好语义的标签,能够很好地实现自我解释,方便搜索引擎理解网页结构,抓取重要内容。去样式后也会根据浏览器的默认样式很好的组织网页内容,具有很好的可读性,从而实现对特殊终端的兼容。
1)div和span是没有语义的:只是分别用作块级元素和行内元素的区域分隔符。当页面内标签无法满足设计需求时,才会适当添加div
- 编程之美-24点游戏
bylijinnan
编程之美
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashSet;
import java.util.List;
import java.util.Random;
import java.util.Set;
public class PointGame {
/**编程之美
- 主页面子页面传值总结
chengxuyuancsdn
总结
1、showModalDialog
returnValue是javascript中html的window对象的属性,目的是返回窗口值,当用window.showModalDialog函数打开一个IE的模式窗口时,用于返回窗口的值
主界面
var sonValue=window.showModalDialog("son.jsp");
子界面
window.retu
- [网络与经济]互联网+的含义
comsci
互联网+
互联网+后面是一个人的名字 = 网络控制系统
互联网+你的名字 = 网络个人数据库
每日提示:如果人觉得不舒服,千万不要外出到处走动,就呆在床上,玩玩手游,更不能够去开车,现在交通状况不
- oracle 创建视图 with check option
daizj
视图vieworalce
我们来看下面的例子:
create or replace view testview
as
select empno,ename from emp where ename like ‘M%’
with check option;
这里我们创建了一个视图,并使用了with check option来限制了视图。 然后我们来看一下视图包含的结果:
select * from testv
- ToastPlugin插件在cordova3.3下使用
dibov
Cordova
自己开发的Todos应用,想实现“
再按一次返回键退出程序 ”的功能,采用网上的ToastPlugins插件,发现代码或文章基本都是老版本,运行问题比较多。折腾了好久才弄好。下面吧基于cordova3.3下的ToastPlugins相关代码共享。
ToastPlugin.java
package&nbs
- C语言22个系统函数
dcj3sjt126com
cfunction
C语言系统函数一、数学函数下列函数存放在math.h头文件中Double floor(double num) 求出不大于num的最大数。Double fmod(x, y) 求整数x/y的余数。Double frexp(num, exp); double num; int *exp; 将num分为数字部分(尾数)x和 以2位的指数部分n,即num=x*2n,指数n存放在exp指向的变量中,返回x。D
- 开发一个类的流程
dcj3sjt126com
开发
本人近日根据自己的开发经验总结了一个类的开发流程。这个流程适用于单独开发的构件,并不适用于对一个项目中的系统对象开发。开发出的类可以存入私人类库,供以后复用。
以下是开发流程:
1. 明确类的功能,抽象出类的大概结构
2. 初步设想类的接口
3. 类名设计(驼峰式命名)
4. 属性设置(权限设置)
判断某些变量是否有必要作为成员属
- java 并发
shuizhaosi888
java 并发
能够写出高伸缩性的并发是一门艺术
在JAVA SE5中新增了3个包
java.util.concurrent
java.util.concurrent.atomic
java.util.concurrent.locks
在java的内存模型中,类的实例字段、静态字段和构成数组的对象元素都会被多个线程所共享,局部变量与方法参数都是线程私有的,不会被共享。
- Spring Security(11)——匿名认证
234390216
Spring SecurityROLE_ANNOYMOUS匿名
匿名认证
目录
1.1 配置
1.2 AuthenticationTrustResolver
对于匿名访问的用户,Spring Security支持为其建立一个匿名的AnonymousAuthenticat
- NODEJS项目实践0.2[ express,ajax通信...]
逐行分析JS源代码
Ajaxnodejsexpress
一、前言
通过上节学习,我们已经 ubuntu系统搭建了一个可以访问的nodejs系统,并做了nginx转发。本节原要做web端服务 及 mongodb的存取,但写着写着,web端就
- 在Struts2 的Action中怎样获取表单提交上来的多个checkbox的值
lhbthanks
javahtmlstrutscheckbox
第一种方法:获取结果String类型
在 Action 中获得的是一个 String 型数据,每一个被选中的 checkbox 的 value 被拼接在一起,每个值之间以逗号隔开(,)。
所以在 Action 中定义一个跟 checkbox 的 name 同名的属性来接收这些被选中的 checkbox 的 value 即可。
以下是实现的代码:
前台 HTML 代码:
- 003.Kafka基本概念
nweiren
hadoopkafka
Kafka基本概念:Topic、Partition、Message、Producer、Broker、Consumer。 Topic: 消息源(Message)的分类。 Partition: Topic物理上的分组,一
- Linux环境下安装JDK
roadrunners
jdklinux
1、准备工作
创建JDK的安装目录:
mkdir -p /usr/java/
下载JDK,找到适合自己系统的JDK版本进行下载:
http://www.oracle.com/technetwork/java/javase/downloads/index.html
把JDK安装包下载到/usr/java/目录,然后进行解压:
tar -zxvf jre-7
- Linux忘记root密码的解决思路
tomcat_oracle
linux
1:使用同版本的linux启动系统,chroot到忘记密码的根分区passwd改密码 2:grub启动菜单中加入init=/bin/bash进入系统,不过这时挂载的是只读分区。根据系统的分区情况进一步判断. 3: grub启动菜单中加入 single以单用户进入系统. 4:用以上方法mount到根分区把/etc/passwd中的root密码去除 例如: ro
- 跨浏览器 HTML5 postMessage 方法以及 message 事件模拟实现
xueyou
jsonpjquery框架UIhtml5
postMessage 是 HTML5 新方法,它可以实现跨域窗口之间通讯。到目前为止,只有 IE8+, Firefox 3, Opera 9, Chrome 3和 Safari 4 支持,而本篇文章主要讲述 postMessage 方法与 message 事件跨浏览器实现。postMessage 方法 JSONP 技术不一样,前者是前端擅长跨域文档数据即时通讯,后者擅长针对跨域服务端数据通讯,p