- BallTree结构和答疑
蒸土豆的技术细节
好多关于balltree的博客,但都说的不清不楚,看得头大.先贴一张github上搜来的balltree的节点结构:lowest_leaf,highest_leaf不知道是什么.left_child,right_child好解释,左右节点.permutation,好像是存储什么东西的排序,不懂.ranges,存储半径.centers,存储圆心/球心.weights,权重?不懂.dims,维度,估计
- 文本转语音的Python库(pyttsx3)
数产第一混子
python库python
一、pyttsx3的概述pyttsx3isatext-to-speechconversionlibraryinPython.pyttsx3是Python中的文本到语音转换库。二、pyttsx3的安装pipinstallpyttsx3三、小试牛刀importpyttsx3engine=pyttsx3.init()engine.say("Iwillspeakthistextrightnow")engi
- uniapp报错 Right-hand side of ‘instanceof‘ is not an object
学无止境鸭
uni-app前端javascript
vue3使用vue2的插件组件时,会报这个错,原因是vue2组件内部的props接收属性时的type类型要写成[Srting,Number]数组的形式,而不是'String|Number'如图所示;
- 更新私有库
男子峰
GitcocoaPods创建私有仓库IOS工具类ios开发swift
一、创建私有库二、更新代码将需要替换的文件、.a、.plist、.h文件、.bundle文件放置到文件夹中。接下来就是配置文件三、配置spec文件Pod::Spec.newdo|s|s.name='XXX'//名字s.version='1.0.0'//版本号s.ios.deployment_target='8.0's.license={:type=>"Copyright",:text=>"中国XX
- 洛谷P2678[NOIP2015]跳石头(二分算法)
猪猪成
C++笔记洛谷算法c++
题目:AC通过图如下简短的AC代码如下:#include#includeusingnamespacestd;intmain(){intl,n,m;cin>>l>>n>>m;intarr[50001];intnow,left,right,mid;left=0;right=l;//给2位置变量初始化数值;for(inti=1;i>arr[i];}arr[0]=0;intsum;//记录搬走的石块总和;
- java实现二叉树的深度优先遍历
开往1982
深度优先算法java
深度优先三种遍历方法1.先序遍历2.中序遍历3.后序遍历1.定义树节点(这里我重构了tostring方法)packagecom.data.tree;publicclassNode{intvalue;Nodeleft;Noderight;publicNode(intval){value=val;}@OverridepublicStringtoString(){return"Node[value="+
- 一段注释。
dont__cry
c语言
以下是添加了详细注释后的代码解析,方便你更好地理解这段ARM宏汇编代码的功能和逻辑:;********************(C)COPYRIGHT2011STMicroelectronics********************;*FileName:startup_stm32f10x_hd.s;*Author:MCDApplicationTeam;*Version:V3.5.0;*Date:
- 表格的属性
花林似霰f
html前端
表格标签属性实际开发并不使用,仅做了解,实际开发会使用CSS。属性名·属性值描述alignleftcenterrightborder1或""规定表格单元是否有边框,默认为无cellpadding像素值规定单元格与其内容之间的空白,默认1像素cellspacing像素值规定单元格之间的距离width/height像素值或百分比规定表格宽度/高度
- ComPDFKit PDF SDK V1.6.0 新功能: 直接编辑PDF内的文字和图片!
pdfsdkedittext
支持的平台:iOSAndroidWindows新功能:编辑文字:添加、修改、删除PDF文件中的文字,支持设置PDF文件中原文字的大小、位置、颜色、对齐方式等Addedtextalignmentintextediting,includinglefttextalignment,righttextalignment,centertextalignment,andjustifytextalignment.
- Uni-app 笔记二 (项目笔记)
天籁晴空
#vue3#TS#小程序--uni-appuni-app笔记
/***@authorwn*@date2023/07/2610:14:15*@description:uniapp笔记*//*1安全区域屏幕去掉状态栏+刘海剩余展示内容的区域--可通过uni.getSystemInfoSync()获取屏幕上边界到安全区顶部的距离。safeAreaInsets={top:59,left:0,right:0,bottom:34}"navigationStyle":"c
- LeetCode第92题_反转链表II
@蓝莓果粒茶
算法leetcode链表算法c++数据结构python后端
LeetCode第92题:反转链表II题目描述给你单链表的头指针head和两个整数left和right,其中left1->2->3->4->5|prev|curr找到left前一个节点prev(即节点1):dummy->1->2->3->4->5||prevcurr第一次头插:将节点3插入到prev之后:dummy->1->3->2->4->5||prevcurr第二次头插:将节点4插入到prev
- ORA-12541: TNS:no listener
夜光小兔纸
运维数据库Oracle运维oracle数据库
问题描述:使用PL/SQLDeveloper连接数据库时出现ORA-12541错误。1.查询监听状态[oracle@localhostadmin]$lsnrctlstatusLSNRCTLforLinux:Version19.0.0.0.0-Productionon15-MAR-202510:47:57Copyright(c)1991,2021,Oracle.Allrightsreserved.C
- Ubuntu 双网卡配置优先级
Bright Xu
Linuxlinux网络ubuntu
Ubuntu双网卡配置优先级作者:BrightXuUbuntu的网卡配置跟CentOS不太一样。更多请参考:CentOS双网卡配置优先级根据业务需要,有时候服务器需要两张网卡,一张用于访问外网,另一种用于连接内网。如果在安装系统是就对两张网卡进行配置了的话,就比较方便,这里不再讨论。下面是后期添加的一张网卡ens37,其中ens33用于连接内网,ens37用于连接外网。话不多说,直入正题。启用网卡
- 修剪二叉搜索树 将有序数组转化为二叉搜索树 把二叉搜索树转换为累加树
默默修炼的小趴菜
c++算法开发语言
1.给定一个二叉搜索树,同时给定最小边界L和最大边界R。通过修剪二叉搜索树,使得所有节点的值在[L,R]中(R>=L)。你可能需要改变树的根节点,所以结果应当返回修剪好的二叉搜索树的新的根节点。#includeusingnamespacestd;structTreeNode{intval;TreeNode*left;TreeNode*right;TreeNode(intx){val=x;left=
- 解决Python找不到ssl模块问题 No module named _ssl
代码之路无极限
Python入门sslpython网络协议
python安装完毕后,提示找不到ssl模块:1234567891011[www@pythontab.com~]$pythonPython2.7.15(default,Oct232018,18:08:43)[GCC4.4.720120313(RedHat4.4.7-23)]onlinux2Type"help","copyright","credits"or"license"formoreinfor
- 转轮密码机(C++实现加密)
qq_53690975
c++
#include#includeusingnamespacestd;//快中慢轮子的转动次数intcount1=0;intcount2=0;intcount3=0;classWheel{public:intright[26];intleft[26];voidtrun();//转动函数Wheel(inta[],intb[]){for(inti=0;i=1;i--){intj=i-1;left[i]=
- 算法:二分查找(4种模板)
meraki
算法leetcode算法c++
算法:二分查找(4种模板)1.基本的二分查找(一)条件:[left,right]左闭右闭intbinarySearch1(vectornums,inttarget){intleft=0;intright=nums.size()-1;//这个right是可以取到的while(leftnums[mid]){left=mid+1;//下次寻找区间[mid-1,right]}elseif(target==
- 三星机试 一些需要会的数据结构
码农珊珊
数据结构算法
树structTreeNode{intval;structTreeNode*left;structTreeNode*right;}structTreeNode*createNode(intval){structTreeNode*node=(structTreeNode*)malloc(sizeof(structTreeNode));node->val=val;node->left=node->ri
- draw.io插入 Mermaid格式
画图
现在很多ai工具生成的流程图都如下sequenceDiagramparticipantSSPparticipantADXSSP->>ADX:广告播放完成ADX->>ADX:更新flow_distribute.status=1ADX->>SLS:记录adPlayed事件NoterightofADX:定时任务同步状态与日志如果想自己编辑这种格式,draw.io就支持,操作如下,我的是网页版参考链接:h
- 代码随想录算法训练营第一天 | LeetCode 704、27
Bingjiaokong
随想录刷题算法leetcode
文章目录前言一、LeetCode7041.闭区间2.开区间二、LeetCode271.暴力求解2.快慢指针总结前言LeetCode题目:704、27Takeaway:二分法边界处理、快慢指针一、LeetCode7041.闭区间定义target是在一个在左闭右闭的区间里,也就是[left,right]#includeclassSolution{public:intsearch(vector&nums
- 算法及数据结构系列 - 二分查找
诺亚凹凸曼
算法及数据结构算法数据结构leetcode
系列文章目录算法及数据结构系列-BFS算法文章目录二分查找框架思路经典题型二分查找寻找左侧边界寻找右侧边界刷题875.爱吃香蕉的珂珂1011.在D天内送达包裹的能力392.判断子序列二分查找框架思路intbinarySearch(int[]nums,inttarget){intleft=0,right=...;while(...){intmid=left+(right-left)/2;if(num
- 标准化欧氏距离公式
zhishidi
ai笔记概率论
标准化欧氏距离(StandardizedEuclideanDistance)通过对每个维度的差异进行标准化处理,消除不同量纲或方差的影响。其公式如下:d(x,y)=∑i=1n(xi−yiσi)2d(\mathbf{x},\mathbf{y})=\sqrt{\sum_{i=1}^n\left(\frac{x_i-y_i}{\sigma_i}\right)^2}d(x,y)=i=1∑n(σixi−yi
- LeetCode34. 在排序数组中查找元素的第一个和最后一个位置 - Java & Go - 二分查找改进
暴风星云裂之我裂开了
LeetCode题解leetcodejavagolang二分查找
文章目录LeetCode34.在排序数组中查找元素的第一个和最后一个位置解法11算法2Java3Go解法21算法2Java3GoLeetCode34.在排序数组中查找元素的第一个和最后一个位置LeetCode34.在排序数组中查找元素的第一个和最后一个位置解法11算法算法1.两次二分查找2.第一次二分查找计算mid=(left+right)>>1;,每次mid都偏向左边,可以保证找到的是第一个大于
- 2.8滑动窗口专题:最小覆盖子串
熊峰峰
#1.每日练习算法c++leetcode滑动窗口哈希算法
1.题目链接LeetCode76.最小覆盖子串2.题目描述给定字符串s和t,要求找到s中最小的窗口,使得该窗口包含t的所有字符(包括出现次数)。若不存在,返回空字符串。示例:输入:s="ADOBECODEBANC",t="ABC"输出:"BANC"(最短窗口包含A、B、C,且长度最短)。3.示例分析以s="ADOBECODEBANC",t="ABC"为例:滑动窗口法:right移动到索引5时,窗口
- C++(初阶)(七)——模板
win水
c++
模版模版函数模板概念原理实例化隐式实例化:显式实例化模板参数的匹配原则类模板实例化模版分为函数模板,类模板经过推演实例化出对应函数函数模板概念函数模板代表了一个函数家族,该函数模板与类型无关,在使用时被参数化,根据实参类型产生函数的特定类型版本。template返回值类型函数名(参数列表){}例如,实现简单的交换函数:templateTAdd(constT&left,constT&right){r
- 【leetcode hot 100 105】从前序与中序遍历序列构造二叉树
longii11
leetcode算法职场和发展
错误解法一:preorder[0]为根节点,在inorder中找到preorder[0]的位置numInorder,其左边为左子树,右边为右子树。利用Arrays.copyOfRange()函数来取数组子集。/***Definitionforabinarytreenode.*publicclassTreeNode{*intval;*TreeNodeleft;*TreeNoderight;*Tree
- 考研数学二:函数、极限与连续知识架构与易错点全解析
竹木有心
考研
一、函数模块易错点与考题预测易错点1:忽略函数定义域的隐含条件例题:设函数(f(x)=\sqrt{\ln(1-x)}+\frac{1}{\sqrt{x+2}}),求定义域。解析:需同时满足:1.1−x>0⇒x0⇒x>−2\begin{aligned}1.&\quad1-x>0\Rightarrowx0\Rightarrowx>-2\end{aligned}1.2.3.1−x>0⇒x0⇒x>−2正解
- 数据结构-稀疏矩阵-十字链表存储
辣条不爱辣
数据结构数据结构
当矩阵的非零元个数与位置在操作中变化较大时,就不宜用顺序存储结构来表示三元组的线性表。在链表中,每个非零元可用一个含5个域的结点表示,其中i,j,e这三个域分别表示该非零元所在的行的值,向右域right用以链接同一行中下一个非零元,向下域down用以链接同一列中下一个非零元,向右域right用以链接同一行中下一个非零元,向下域down用以链接同一列中下一个非零元。同一行的非零元通过right域链接
- 迷雾渐开:美国AIGC可版权性剖析及案例梳理
人工智能
当地时间2025年1月29日,美国版权局(U.S.CopyrightOffice,USCO)发布了版权和人工智能相关法律和政策报告的第二部分——《版权和人工智能:可版权性》(以下简称“《USCO可版权性报告》”)[1],旨在探讨人工智能生成内容(AIGC)的可版权性问题。该报告明确指出,美国版权局认为现有的版权法足以解决AIGC问题,因此无需制定新的立法。具体而言,该报告在此前美国版权局于2023
- open-webui使用searXNG插件连接自定义的联网搜索服务程序
chinayeren
教程pythonaillamachatgpt
项目背景因为国内无法访问内置的一些免费搜索插件,安装完searXNG本地服务端后根据教程中连接始终无法连接,docker方案国内也无法使用的情况下,本地使用python写一个Flask服务程序使用爬虫技术提供联网搜索数据。下面是实现代码V1#!/usr/bin/python3#_*_coding:utf-8_*_##Copyright(C)2025-2025#@Title:这是一个模拟searXN
- 统一思想认识
永夜-极光
思想
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