- 【python】pathlib模块
m 宽
python
#!/usr/bin/envpython#coding:utf-8#In[2]:frompathlibimportPath#In[3]:#创建路径c_path=Path("C:/")print(c_path)#In[4]:#当前目录cwd=Path.cwd()print(cwd)#In[5]:#用户目录Path.home()#In[6]:#父目录cwd.parent#In[7]:#子目录fpath
- C++ 类和对象 友元 内部类 this指针 默认成员函数 初始化列表……
azaz_plus
C++c++类和对象this指针默认成员函数友元初始化列表内部类
1.类和对象的基本概念类:用户自定义的数据类型,包含数据成员(属性)和成员函数(方法)。对象:类的实例,占用内存空间,具有类中定义的属性和方法。示例:classDog{//定义类public:std::stringname;//属性intage;voidbark(){//方法std::coutdraw();//输出:Drawingacircle(多态)deleteshape;return0;}4.
- 深入解析Java跨平台原理
KBkongbaiKB
java开发语言
一、操作系统屏障的本质挑战源代码编译方式直接编译为机器码Windows的可执行文件.exeLinux的可执行文件.elfmacOS的可执行文件.machJava独特的中间格式字节码文件.classJVM虚拟机1.1传统语言的平台困局语言类型编译方式执行依赖跨平台能力C/C++直接生成机器码特定操作系统❌不可直接移植Python解释型执行Python解释器✅但性能较低Java字节码中间件JVM虚拟机
- 文件的输出与读写 2.0
大力水手偷吃菠菜变成米老鼠
c语言
一、文章内容概述(一)知识要点文件操作函数概述:介绍了C语言中用于文件操作的一系列函数,这些函数是实现文件读写功能的基础工具。文件流概念定义与分类:FILE*stream这种定义方式包含了各种各样的流。流是一种用于在程序和外部设备(如文件、控制台、网络等)之间进行数据传输的抽象概念。具体类型文件流:用于读取与写入在磁盘上的文件。例如,通过文件流可以从硬盘上的文本文件中读取数据,并将其显示在程序中,
- python:一次简单的爬虫
wstkqzl
python爬虫开发语言
importrequestsimportparselimporttimefromparselimportSelector#第一章链接https://www.qu04.cc/book/45808/2.html#第二章链接https://www.qu04.cc/book/45808/3.html#小说目录:https://www.qu04.cc/book/45808/url="https://www.
- Docker如何以配置文件方式安装nginx
小白写代码hh
dockernginxjava
目录1准备挂载目录2拉去nginx镜像3启动命令1准备挂载目录mkdir-p/temp/nginx/html#创建nginx的html挂载目录mkdir-p/temp/nginx/conf#创建nginx的配置文件挂载目录自定义nginx配置文件放在conf目录下#usernobody;worker_processes1;#error_loglogs/error.log;#error_loglog
- 重生之——我用WeakMap和Symbol缔造专属于我的金丝雀~~~【使用WeakMap和Symbol实现属性私有】
被夏油狠狠爱的悟
JS前端javascript开发语言WeakMapclass类Symbol
#今日份大脑爆炸##看完下面内容包你更进一步理解WeakMap!#不想属性被外人看见?不想是个人都能看见你的属性?那就看看WeakMap,帮你轻松实现你的目标!1.WeakMap:第一版://WeakMap管理私有属性:consthost=newWeakMap()//这里创建了一个WeakMap实例host,用于存储每个User实例的host属性classUser{constructor(url)
- 自动生成二维码(根据文本内容)——CAD c#二次开发
山水CAD筑梦人
CADC#二次开发c#数据库服务器
用户输入文本内容,运行插件生成二维码(jpg图片格式),扫码即可显示文本内容。※※※也可根据excel文件内容批量一键生成上万个二维码。※※※效果如下:首先需要引用库usingZXing;部分代码如下:publicclass二维码{internalstaticListtempFiles=newList();privatestaticPoint3dcurrentInsertPoint=newPoin
- python nginx部署_nginx部署python应用
weixin_39611070
pythonnginx部署
2.nginx配置文件如下:#位于/nginx/conf/nginx.conf#usernobody;worker_processes1;events{worker_connections1024;}http{includemime.types;default_typeapplication/octet-stream;sendfileon;keepalive_timeout185;server{l
- 大疆无人机航点飞行KMZ文件提取航点坐标
程序员南飞
无人机macosjavaspring
一、需要插件jaxenjaxen1.1.4dom4jdom4j1.6.1二、KMZ解压成KMLpackagecom.dji.sample.common.util;importorg.dom4j.Document;importorg.dom4j.io.SAXReader;importjava.io.File;importjava.io.FileInputStream;importjava.io.In
- Qt选择文件路径,并写入文件
水瓶丫头站住
Qtqt开发语言
以下是使用Qt的QFile和QFileDialog选择路径并写入文件的示例代码:#include#include#include#includevoidwriteFileExample(){//1.获取保存路径QStringfileName=QFileDialog::getSaveFileName(nullptr,//父窗口"保存文件",//对话框标题QDir::homePath(),//默认目录
- python-leetcode-除自身以外数组的乘积
Joyner2018
pythonleetcode算法职场和发展
238.除自身以外数组的乘积-力扣(LeetCode)classSolution:defproductExceptSelf(self,nums:List[int])->List[int]:n=len(nums)#初始化结果数组answer=[1]*n#计算前缀乘积prefix=1foriinrange(n):answer[i]=prefixprefix*=nums[i]#计算后缀乘积,同时更新结果
- WPF 打开文件、文件夹,另存为文件
BeanGo
WPFwpfc#开发语言
打开文件代码:OpenFileDialogopenFileDialog=newOpenFileDialog();openFileDialog.Title="选择数据源文件";openFileDialog.Filter="txt文件|*.txt";openFileDialog.FileName=string.Empty;openFileDialog.FilterIndex=1;openFileDia
- 如何绕开浏览器批量下载的限制
露露在前端
前端javascripthtml状态模式学习面试vue.js
前言最近遇到一个需求,需要将批量选择的图片,批量一个个下载。触发单个下载在浏览器中触发下载,我们可以借用a元素来触发。constdownloadFile=async(url:string,name:string)=>{constres=awaitfetch(url);constblob=awaitres.blob();conststrList=url.split('.');consttype=st
- How Spark Read Sftp Files from Hadoop SFTP FileSystem
IT•轩辕
CloudyComputationsparkhadoop大数据
GradleDependenciesimplementation('org.apache.spark:spark-sql_2.13:3.5.3'){excludegroup:"org.apache.logging.log4j",module:"log4j-slf4j2-impl"}implementation('org.apache.hadoop:hadoop-common:3.3.4'){exc
- laravel框架查询数据集转为数组
小浮夸
框架laravel
$website_data=DB::table('fb_website')->where('website_status',1)->get()->map(function($value){return(array)$value;})->toArray();
- HTML 元素和有效 DOCTYPES
智慧浩海
HTMLhtml前端
HTML元素-有效DOCTYPES下面的表格列出了所有的HTML5/HTML4.01/XHTML元素,以及它们会出现在什么文档类型(!DOCTYPE)中:HTML4.01/XHTML1.0TagHTML5TransitionalStrictFramesetXHTML1.1YesYesYesYesYesYesYesYesYesYesNoYesYesYesYesYesYesYesYesYesNoYes
- 吴大仙带你三分钟学会swoole框架
大仙带你飞
phpswoole
前言最近在学习swoole这个东西,就写点心得吧。基于swoole的开源框架很多,优缺点自己百度,凡是有用到websocket和消费队列选择基于swoole的框架是不错的选择。好吧话不多说,吴大仙就介绍一下swoole的一个简单入门吧正文swoole有两个部分。一个是PHP扩展,用C开发的,这是核心。另一个是框架,像yii、TP、Laravel一样,是PHP代码写的。swoole扩展本身提供了we
- laravel基础
m0_65977885
lavarel
#laravel基础###一、MVC设计模式在php的的主流框架中,大多都采用MVC的设计模式,它可以将代码解耦,让视图代码和逻辑代码分开编写,为后期的维护带来了极大的便利。**MVC是模型(model)、视图(view)、控制器(controller)是组合**,它表示将软件系统分成3个核心部分。-模型model,用于数据处理-视图view,用于显示数据-控制器controller,接收用户请求
- laravel如何通过DB获取一条数据的指定字段并转成数组
phpgolife
phpphplaravel
在Laravel中,如果你想要通过原生数据库查询构建器(DBfacade)获取一条数据的指定字段,并将其转换为数组,你可以这样做:首先,使用select方法来指定你想要获取的字段,然后使用where方法来添加查询条件,最后调用first()方法来获取结果集中的第一条记录。first()方法返回的是一个StdClass对象,你可以直接访问其属性来获取字段值,或者你可以使用toArray()方法将对象
- laravel如何通过DB获取一条数据并转成数组
phpgolife
phplaravelphp
在Laravel中,你可以使用原生数据库查询构建器(DBfacade)来获取一条数据,并将其转换为数组。这可以通过在查询链的末尾调用first()方法后,使用toArray()方法来实现。first()方法会返回一个StdClass对象(如果找到数据的话),然后你可以调用toArray()方法将这个对象转换为数组。以下是一个示例,展示了如何通过DB门面获取一条数据并将其转换为数组:useIllum
- 【教程4>第2章>第30节】本章整体思维导图与学习总结
fpga和matlab
#第3章·通信—高阶调制解调FPGA教程4学习总结高阶调制解调
教程4.目录.目录1.本章节目录2.本章节思维导图3.本章节学习案例与实际应用欢迎订阅FPGA/MATLAB/Simulink系列教程《★教程1:matlab入门100例》《★教程2:fpga入门100例》《★教程3:simulink入
- PHP前置知识-HTML学习
freesec
html学习前端
HTML学习1、因特网和万维网1.1、Internet因特网:全球资源的总汇,连接网络的网络1.2、TCP/IP协议簇:传输层/网络层协议1.3、万维网:www(worldwideweb)HTTP超文本传输协议作用:接受和发布HTMl页面URL统一资源定位符协议://域名:端口号/文件路径/文件名.文件后缀http://www.QQ.com.cn:80/tq/index.html1.4、W3C组织
- C++数据结构 数组加链表
哈儿1号
数据结构C++c++
#includeusingnamespacestd;//对于线性表有必要执行的操作://创建,撤销//确定线性表是否为空//确定线性表的长度//按索引查找一个元素//按元素查找索引。//按索引删除元素//按索引插入元素//从左到右的顺序输出线性表元素//这是个老祖宗templateclasslinearList{public:virtual~linearList(){};virtualboolem
- c语言编写字母解密,用c语言实现文本的加密及解密
傅南台
c语言编写字母解密
编写程序,实现对文本的加密及解密。加密程序代码:#include"stdio.h"main(){charc;FILE*fp1,*fp2;fp1=fopen("yuanwen.txt","r");fp2=fopen("miwen.txt","w");do{fscanf(fp1,"%c",&c);if(c>=32&&c=32&&c<=126){c=126-c;c=c+32;}fprintf(fp2,"
- PHP入门教程3:数组和字符串操作
Evaporator Core
#php程序设计经验phpandroid开发语言
PHP入门教程3:数组和字符串操作在前两篇文章中,我们学习了PHP的基础语法、控制结构和函数的使用。本文将重点介绍数组和字符串的高级操作,这些是PHP编程中非常常见且重要的内容。本文将包含以下几个部分:数组的类型和操作多维数组数组函数字符串操作字符串函数1.数组的类型和操作数组是一种可以存储多个值的数据结构。PHP中有三种类型的数组:索引数组、关联数组和多维数组。索引数组索引数组是用数字索引的数组
- 算力未来演进与多场景创新
智能计算研究中心
其他
内容概要算力作为数字经济的核心生产力,其技术架构与应用场景正经历多维突破。从技术架构层面来看,异构计算通过整合CPU、GPU、FPGA等多元芯片实现性能跃升,边缘计算则借助分布式节点降低时延并提升响应效率,而量子计算在特定领域的指数级加速潜力已进入验证阶段。在应用场景维度,工业互联网通过实时数据分析优化产线效率,智能安防依托视频流结构化处理增强预警能力,元宇宙则依赖高密度渲染与低延迟传输构建沉浸式
- c++基础
冰凉的保温瓶
c++开发c++
extern关键字https://www.cnblogs.com/honernan/p/13431431.html定义和声明在介绍extern之前,我们需要了解一下变量的声明和定义。变量的声明指向程序表名变量的类型和名字,即使得名字为程序所知,一个文件如果想使用别处定义的名字则必须包含对那个名字的声明。而变量的定义指申请存储空间,并将其与变量名相关联,除此之外,还可以为变量指定初始值。在程序中变量
- Java、Python、PHP、Go:网站开发语言全维度对比与选择指南
生信天地
开发语言javapython
在数字化转型浪潮中,网站开发技术的选择直接影响着项目的成败。Java、Python、PHP、Go四门语言凭借各自特性,在不同场景中展现出独特的竞争力。根据Statista2024年开发者调查报告,Java仍以34%的企业级应用占比位居榜首,而Go以27%的增速成为云原生领域新宠。本文基于技术特性、行业案例及发展趋势,深度解析四大语言的优劣势,助您做出精准技术选型。一、性能与并发能力:高负载场景的生
- 实现短视频播放功能鸿蒙示例代码
本文原创发布在华为开发者社区。介绍本示例使用Swiper+AVPlayer构建了一个短视频上下滑动并播放的场景。实现短视频播放功能源码链接效果预览使用说明打开应用,直接播放第一条短视频。向上滑动,即可进入第二条短视频,之后可以上下滑动播放短视频。实现思路数据处理构造BasicDataSource类,实现对数据的处理函数。classBasicDataSourceimplementsIDataSour
- 统一思想认识
永夜-极光
思想
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