文章目录题目描述输入描述输出描述用例题目解析JS算法源码Java算法源码python算法源码c算法源码c++算法源码题目描述小明来到某学校当老师,需要将学生按考试总分或单科分数进行排名,你能帮帮他吗?输入描述第1行输入两个整数,学生人数n和科目数量m。•0
基于Docker官方php:5.6.40-fpm镜像构建支持66个常见模组的php5.6.40镜像
沉思的归零者
云原生Linux系统运维#Dockerdockerphp容器
实践说明:基于RHEL7(CentOS7.9)部署docker环境(23.0.1、24.0.2),所构建的php5.6.40镜像应用于RHEL7-9(如AlmaLinux9.1),但因为docker的特性,适用场景是不限于此的。文档形成时期:2017-2023年因系统或软件版本不同,构建部署可能略有差异,但本文未做细分,对稍有经验者应不存在明显障碍。因软件世界之复杂和个人能力之限,难免疏漏和错误,
程序控制的角度
钢铁男儿
计算机操作系统(骆斌葛季栋)计算机
多道程序同时计算CPU速度与I/O速度不匹配的矛盾,非常突出只有让多道程序同时进入内存争抢CPU运行,才可以够使得CPU和外围设备充分并行,从而提高计算机系统的使用效率多道程序同时计算例多道程序同时计算例多道程序同时计算的宏观分析甲、乙两道程序独占计算机单道运行时均需1小时,占用CPU时间18分钟,CPU利用率为30%按多道程序设计方法同时运行,CPU利用率50%,由于要提供36分钟的CPU时间,
一文详解大厂数据中台架构
isNotNullX
架构大数据性能优化
在大数据发展的黄金期,几乎所有的高科技企业都在思考一个问题:海量数据作为大多数企业发展不可避免的一个趋势之后,企业该怎么去应用这部分数据资产,会对其商业产生什么影响,如何使数据对企业产生正面的推动而不是成为企业的负担。作为国内的主要大数据玩家,阿里在2015年提出了“大中台、小前台”的战略,奠定了其内部发展数据中台的基础。2018年因为“腾讯数据中台论”,中台再度成为了人们谈论的焦点。至此,关于“
VXLAN 基础教程:VXLAN 协议原理介绍
lingshengxiyou
网络linux运维c++开发语言
VXLAN(VirtualeXtensibleLocalAreaNetwork,虚拟可扩展局域网),是一种虚拟化隧道通信技术。它是一种Overlay(覆盖网络)技术,通过三层的网络来搭建虚拟的二层网络。简单来讲,VXLAN是在底层物理网络(underlay)之上使用隧道技术,借助UDP层构建的Overlay的逻辑网络,使逻辑网络与物理网络解耦,实现灵活的组网需求。它对原有的网络架构几乎没有影响,不
Web3.0开发路线
king-agic
前沿技术web3
Web3.0开发是一个不断演进的领域,涉及到区块链技术、去中心化应用(DApps)、智能合约等多个方面。阶段一:Web3基础知识与区块链原理目标:理解Web3与区块链的基本概念、发展历程与价值主张。掌握区块链的核心原理,包括分布式账本、共识机制、加密算法、智能合约等。学习内容:Web3概述:起源、愿景、与Web2的区别。区块链基础:区块、链式结构、哈希、公钥/私钥、UTXO模型、账户模型等。共识机
海外代理IP选择指南:开启数据采集的便捷之旅
Loongproxy
tcp/ip网络服务器
在这个信息爆炸的时代,数据就像是海洋中的宝藏,等待着我们去发掘。而海外代理IP,恰似那把开启宝藏的钥匙,帮助我们在浩瀚的信息海洋中畅游无阻。今天,我们就一起来探讨如何选择合适的海外代理IP,为你的数据采集之旅保驾护航。明确数据采集需求:找准方向在选择海外代理IP之前,首先要做的是明确自己的数据采集需求。这就像是在海洋中航行,只有确定了目的地,才能选择合适的航线。不同项目的需求差异很大,比如你可能需
深度剖析 DeepSeek V3 技术报告:架构创新与卓越性能表现
微凉的衣柜
科技头条人工智能大模型语言模型
随着人工智能(AI)技术的不断发展,各种大规模语言模型(LLM)层出不穷,DeepSeekV3作为其中的一员,凭借其出色的性能表现和创新的架构设计,吸引了广泛关注。本文将通过对官方发布的DeepSeekV3技术报告的深入解析,从多个维度剖析DeepSeekV3如何通过先进的技术手段,在保持性能卓越的同时优化计算和内存开销。一、性能卓越,超越同行DeepSeekV3在多个权威基准测试中展现了强大的性
1024 程序员节:探索计算机科学与技术的魅力与挑战
WD77
笔记1024程序员节经验分享
在这个数字化飞速发展的时代,计算机科学与技术无疑是推动社会进步的核心力量之一。值此1024程序员节之际,让我们一同深入探索这个充满无限可能的专业领域。一、计算机科学与技术的魅力(一)创新的驱动力计算机科学与技术始终站在创新的前沿,不断催生新的技术和应用,改变着我们的生活方式。从智能手机的普及到人工智能的崛起,从电子商务的繁荣到区块链技术的应用,每一次的突破都离不开计算机科学与技术的支撑。它为我们提
基于Android 看点新闻系统(源码+LW+部署讲解+数据库+ppt)
西红柿计算机毕设
Android毕设数据库javaspringbootandroid-studio
!!!!!!!!!选题不知道怎么选不清楚自己适合做哪块内容都可以免费来问我避免后期給自己答辩找麻烦增加难度(部分学校只有一次答辩机会没弄好就延迟毕业了)会持续一直更新下去有问必答一键收藏关注不迷路源码获取:https://pan.baidu.com/s/1aRpOv3f2sdtVYOogQjb8jg?pwd=jf1d提取码:jf1d!!!!!!!!!项目介绍基于Android看点新闻系统(源码+L
LeetCode题练习与总结:反转字符串中的单词 Ⅲ -- 557
一直学习永不止步
LeetCodeJava简单算法数据结构LeetCodeJava双指针字符串职场和发展
一、题目描述给定一个字符串s,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序。示例1:输入:s="Let'stakeLeetCodecontest"输出:"s'teLekatedoCteeLtsetnoc"示例2:输入:s="MrDing"输出:"rMgniD"提示:1<=s.length<=5*10^4s包含可打印的ASCII字符。s不包含任何开头或结尾空格。s里至少有一个
立足西安,昇腾AI为开发者留下了脚印一串
科技前沿资讯
人工智能
“人工智能的时代,我能够成为推动世界发展的一支桨吗?”“我爱西安这座城市,而且在学校学习了那么多与IT开发相关的课程,未来我很希望能留在西安发展。”西安电子科技大学计算机学院的几名学生如是对笔者说。每个人在学校里都会有迷茫,不论你所学是什么,只有站在当下,脚踏实地方可仰望苍穹。他们也是如此,面对智能时代的变数,他们渴望去做更多的尝试。4月23日,以“创未来,享非凡”为主题的昇腾AI开发者创享日首站
瞄准K12阶段,日本生成式AI会弯道超车吗?
科技前沿资讯
人工智能
12月26日,日本正式将生成式AI的教育下沉到K12教育阶段,初等和中等教育阶段。指南全名为《中小学阶段生成式人工智能使用指南》,指南很长,涉及内容大体涵盖了生成式AI的基本理念、学校使用生成式AI的注意事项、教师与学生该如何使用AI等。在当前,人工智能的趋势是不可阻挡的。因此,任何试图抵抗AI发展的行为都会像当年的马拉火车一样,被技术抛在身后。因此,拥抱AI几乎是想要在未来有所突破的必然选择。而
微信公众号h5更新内容部分手机出现白屏或者旧内容,需要刷新
学无止境s_m_w
微信缓存前端vue
出现的问题:大部分苹果手机,部分安卓手机第一次关注公众号时进入页面更新会出现白屏情况,或者内用没有更新,需要用户主动刷新才能解决为什么会出现和解决方案:1,一般情况js,css等文件添加版本号或者随机值会解决缓存问题如2,文件名使用hash形式3,在html中添加标签的缓存设置//用于定义页面缓存,不缓存页面(为了提高速度一些浏览器会缓存浏览者浏览过的页面,通过下面的定义,浏览器一般不会缓存页面,
无效数据,你会怎么处理?
网络安全我来了
IT技术无效数据
如何处理无效数据?无效数据就像海洋中的漂流物,易被忽视,却可能对你的数据分析产生深远的影响。在这个瞬息万变的数字世界中,数据已经成为了决策的核心。但你是否曾想过,无效数据会如何悄然破坏你的洞察力?在这篇文章中,我们将深入探讨如何识别和处理无效数据,确保你的分析能够真正反映现实的情况。无效数据的定义与重要性什么是无效数据?无效数据是指在数据集中不符合预期的数据,它可能是错误的、不完整的、重复的,甚至
开源项目的机遇与挑战
网络安全我来了
IT技术pythonjavaphpc++c语言
开源项目的机遇与挑战引言在当今技术迅速发展的时代,开源项目如同一个浩瀚的海洋,吸引着无数开发者和企业的目光。你是否曾想过,是什么让我们如此沉迷于这个充满可能性的世界?开源项目的发展不仅推动了技术的进步,也为我们提供了绝佳的合作机会。然而,这片海洋并非没有暗礁。参与开源项目的过程中,有机遇,也有挑战。那么,今天就让我们一同探索开源项目的机遇与挑战,看看这条探索之路对你我来说意味着什么。1.开源项目的
element-ui上传图片组件封装
风吹头皮凉
前端vue.js
//上传图片组件定义文件imageUpload=this.limit}">请上传大小不超过{{fileSize}}MB格式为{{fileType.join("/")}}的文件import{getToken}from"@/utils/auth";//接口apiimport{serviceApi}from"@/utils/serviceApi";exportdefault{props:{value:[
无需卸载,降低python版本的方法
DOT Manager
Python技能python开发语言
降低python版本的方法:1、打开anacondaprompt窗口;2、输入“condainstallpython=3.6”命令并回车;3、等待提示(y/n),输入y,再等待一段时间,当提示done则成功退回到python3.6。一般可能无法降低版本,使用如下方法:Anaconda虚拟环境下更换python版本【不论升版本、降版本都使用condainstallpython命令】【注意:修改版本后
python的总结与心得词云设计理念_Python词云展示十九大报告
weixin_39633054
“不忘初心,牢记使命,高举中国特色社会主义伟大旗帜,决胜全面建成小康社会,夺取新时代中国特色社会主义伟大胜利,为实现中华民族伟大复兴的中国梦不懈奋斗。”十九大召开已过去近一个月,我国社会主要矛盾已经转变,中国特色社会主义进入了新时代,中国人民实现了从站起来,富起来到强起来,我们国家已经走近世界舞台的中央。国家强盛,民族自豪,为了中国梦,戮力前行。考研的同学应该此刻也在对着十九大报告埋头苦背吧,作为
python bs4 selenium 查找a href=javascript:();的实际点击事件和url
大霸王龙
pythonseleniumjavascript
在使用BeautifulSoup和Selenium时,处理href="javascript:;"的链接需要一些额外的步骤,因为这些链接不直接指向一个URL,而是通过JavaScript代码来执行某些操作。这可能包括导航到另一个页面、触发模态窗口、显示/隐藏内容等。以下是如何使用Selenium来查找和处理这些链接的步骤:启动WebDriver:首先,你需要启动一个WebDriver(如Chrome
Linux发行版数量
无限码力
od算法刷题笔记算法数据结构华为ode卷华为od笔试真题
Linux发行版数量真题目录:点击去查看E卷100分题型题目描述Linux操作系统有多个发行版,distrowatch.com提供了各个发行版的资料。这些发行版互相存在关联,例如Ubuntu基于Debian开发,而Mint又基于Ubuntu开发,那么我们认为Mint同Debian也存在关联。发行版集是一个或多个相关存在关联的操作系统发行版,集合内不包含没有关联的发行版。给你一个n*n的矩阵isCo
如何降低做事的阻力?
智识世界Intelligence
信息可视化深度学习经验分享笔记学习方法
1.实用优先于完美:足够好才是关键伏尔泰所说的“完美是优秀的敌人”在这里正中问题核心。在现实世界中,追求完美往往带来停滞,因为完美本身是动态、难以定义的。在自然选择中,生物能够存活并繁衍,不是因为它们达到了某种理论上的“最优状态”,而是因为它们的特性在特定环境下足够好。现实应用:•在产品开发中,“最低可行产品”(MVP,MinimumViableProduct)正是基于这种思想。MVP不是完美的,
Python 降级
Vicky_922
python
Python降级时,不一定需要完全卸载Python3.12版本。你可以选择直接安装低版本的Python(如3.8或3.9),然后通过一些方法进行版本切换或创建虚拟环境来避免冲突。下面是两种常见的方法:方法一:直接安装低版本Python(不卸载3.12)你可以在系统中同时安装多个Python版本,而不需要卸载现有的Python3.12版本。然后可以使用以下方法选择要使用的版本:下载并安装低版本Pyt
解锁函数的魔力:Python 中的多值传递、灵活参数与无名之美
kdayjj966
python开发语言
在Python编程的世界里,函数宛如魔法的咒语,能够将复杂的任务拆解为简洁、可复用的代码块。而其中的多值传递、灵活参数与匿名函数(lambda)特性,更是为这魔法增添了绚丽多彩的光芒,极大地提升了编程的效率与灵活性。接下来,让我们一同深入探索这些特性的奇妙之处。一、多值返回:数据传递的便捷通道在Python中,函数具备强大的多值返回能力。当函数需要同时传递多个数据时,无需借助复杂的容器封装,只需使
统一思想认识
永夜-极光
思想
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