- 使用LLaVa和Ollama实现多模态RAG示例
llzwxh888
python人工智能开发语言
本文将详细介绍如何使用LLaVa和Ollama实现多模态RAG(检索增强生成),通过提取图像中的结构化数据、生成图像字幕等功能来展示这一技术的强大之处。安装环境首先,您需要安装以下依赖包:!pipinstallllama-index-multi-modal-llms-ollama!pipinstallllama-index-readers-file!pipinstallunstructured!p
- matlab mle 优化,MLE+: Matlab Toolbox for Integrated Modeling, Control and Optimization for Buildings...
Simon Zhong
matlabmle优化
摘要:FollowingunilateralopticnervesectioninadultPVGhoodedrat,theaxonguidancecueephrin-A2isup-regulatedincaudalbutnotrostralsuperiorcolliculus(SC)andtheEphA5receptorisdown-regulatedinaxotomisedretinalgan
- Ubuntu Juju 与 Ansible的区别
xidianjiapei001
#Kubernetesubuntuansiblelinux云原生Juju
JujuandAnsiblearebothpowerfultoolsusedformanagingandorchestratingITinfrastructureandapplications,buttheyhavedifferentapproachesandusecases.Here’sabreakdownofthekeydifferencesbetweenthem:1.ConceptualFo
- MySQl篇(SQL - 基本介绍)(持续更新迭代)
wclass-zhengge
mysqlsql数据库
目录一、简介二、SQL方言(分页查询为例)1.简介2.SQL方言大比拼2.1.Oracle2.1.1.使用ROWNUM实现分页查询2.1.2.使用ROW_NUMBER()实现分页查询2.2.MySQL2.3.PostgreSQL三、语法规范四、注释五、MySQL脚本中的标点符号一、简介1、SQL是结构化查询语言(StructureQueryLanguage),专门用来操作/访问关系型数据库的通用语
- 数据结构 1
五花肉村长
数据结构算法开发语言c语言visualstudio
1.什么是数据结构数据结构(DataStructure)是计算机存储和组织数据的方式,是指相互之间存在的一种或多种特定关系的数据元的集合。2.什么是算法算法(Algorithm)就是定义良好的计算过程,他取一个或一组的值为输入,并产生出一个或一组值作为输出。简单来说算法就是一系列的计算步骤,用来将输入数据转化成输出结果。3.数据结构和算法的书籍资料学习完数据结构知识,可以去看《剑指offer》和《
- 封装better-scroll
你喜欢吃青椒吗_c744
安装npminstallbetter-scroll--save-dev创建一个scroll.vue组件importBScrollfrom'better-scroll';//引入better-scroll//详细参数可以了解better-scroll的文档exportdefault{props:{probeType:{//probeType为3的时候,不仅在屏幕滑动的过程中,而且在momentum滚
- 只会SQL语句,可以做什么工作?
King.624
sql大数据人工智能mysql数据库数据分析开发语言
1、SQL是什么首先简单介绍一下SQL(StructuredQueryLanguage),是一种可以进行数据提取、聚合、分析,并对数据库进行构建和修改的编程语言。相对来说,SQL上手非常容易,因为语法结构比较固定,新手初学几天就可以轻松上手,懂得最基本的select,from,where,groupby等语法的使用,完成一个基本的SQL程序。当然,初学之后,就要面临一些进阶的挑战,比如利用join
- MySQL之DQL简单查询
忧郁的西红柿
mysql数据库
1、结构化查询语言1.什么是SQL结构化查询语言(StructuredQueryLanguage),后续通常简称SQL。SQL是用于存取数据以及查询、更新和管理关系数据库系统的标准语言。20世纪70年代由IBM公司开发,目前应用于各种关系型数据库。SQL是一套标准,百分之九十以上的SQL在各种关系型数据库中都是通用的,每种关系型数据库也有少量自己特定的操作方言。2.SQL语言分类SQL语言可分为如
- JVM 架构 : 运行时数据区 & 内存结构
光剑书架上的书
JVM:JavaVirtualMachine架构JVMArchitectureRuntimeDataArea/MemoryStructureClassloaderClassloaderisasubsysteminJVM,whichisprimarilyresponasibleforloadingthejavaclasses,thereare3differentclassloaders:Bootst
- 【数据结构】快速排序与归并排序的非递归实现
盐酥鸡--
数据结构数据结构算法
个人主页:Yanni.—数据结构:DataStructure.C语言笔记:CLanguageNotesOJ题分享:TopicSharing目录前言:非递归基础思想快速排序非递归思路快速排序非递归实现归并排序的非递归思路归并排序的非递归实现前言:在之前学习了快速排序和归并排序,但算法就是用递归实现的,在企业的面试中,很多企业不会问你快速排序和归并排序递归算法的思想,而是非递归实现这两个排序,今天为大
- 驱动DW1000的模块,RST
m0_69078052
单片机嵌入式硬件
这段代码的作用是对DW1000芯片进行复位(重置)。DW1000是一种用于无线通信的超宽带(UWB)芯片,通常在实际使用中需要通过控制复位引脚来重启或重置芯片,以确保芯片的正常工作。下面是这段代码的详细解释:代码功能初始化GPIO引脚:GPIO_InitTypeDefGPIO_InitStructure;//EnableGPIOusedforDW1000resetGPIO_InitStructur
- SQL 快速参考
lly202406
开发语言
SQL快速参考引言SQL(StructuredQueryLanguage)是一种用于管理关系数据库管理系统(RDBMS)的标准编程语言。它被广泛用于数据查询、数据更新、数据库维护和访问控制。本快速参考旨在提供SQL的基本概念和常用命令的概览,帮助读者快速理解和应用SQL。基础概念数据库(Database)数据库是存储有组织的数据集合的地方。表(Table)表是数据库中数据存储的基本单位,由行和列组
- 论文阅读笔记(十九):YOLO9000: Better, Faster, Stronger
__Sunshine__
笔记YOLO9000detectionclassification
WeintroduceYOLO9000,astate-of-the-art,real-timeobjectdetectionsystemthatcandetectover9000objectcategories.FirstweproposevariousimprovementstotheYOLOdetectionmethod,bothnovelanddrawnfrompriorwork.Theim
- 数据库有关c语言
h海棠溪
数据库学习c语言linux
数据库的概念SQL(StructuredQueryLanguage)是一种专门用来与数据库进行交互的编程语言,它允许用户查询、更新和管理关系型数据库中的数据。关系型数据库是基于表(Table)的数据库,其中表由行(Row)和列(Column)组成,每一行代表一个记录(Record),每一列代表一个字段(Field)。非关系型数据库MongoDB1、分类:大型中型小型ORACLEMYSQL/MSSQ
- Biopython从pdb文件中提取蛋白质链的信息
qq_27390023
开发语言python
使用Biopython的PDB模块可以方便地解析PDB文件并提取你需要的信息。下面是一个示例代码,用于提取PDB文件中的链名称、序列和长度:示例代码fromBioimportPDB#读取PDB文件pdb_file="/Users/zhengxueming/Downloads/1a0h.pdb"parser=PDB.PDBParser(QUIET=True)structure=parser.get_
- 【数据结构】基本概念和术语
熙曦Sakura
数据结构数据结构
数据(data)定义是对客观事物的符号表示,在计算机科学中是指所有能输入到计算机中并被计算机程序处理的符号的总称。数据元素(dataelement)是数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。数据对象(dataobject)是性质相同的数据元素的集合,是数据的一个子集。数据结构(datastructure)是相互之间存在一种或多种特定关系的数据元素的集合。结构(structur
- 用python的NiceGUI库 实现webApp___官网文档熟悉
错误重复学习记录
webapp
官网文档文本元素ui.label、、ui.markdown和ui.restructured_text等元素ui.html可用于显示文本和其他内容。TextElementsLabel、Link、ChatMessage、GenericElement、MarkdownElement、ReStructuredText、MermaidDiagrams、HTMLElement控制NiceGUI提供了多种用于用
- sql常用语法总结
零 度°
sql数据库
SQL(StructuredQueryLanguage,结构化查询语言)是一种用于管理和操作关系数据库的标准编程语言。本文用来记录一些接触到的sql语句,随着学习不断进行更新:选择数据-SELECT语句用于从数据库表中检索数据。SELECTcolumn1,column2FROMtable_name;插入数据-INSERTINTO语句用于向表中添加新数据。INSERTINTOtable_name(c
- java: Compilation failed: internal java compiler error
超音速6
1、查看项目的jdk(Ctrl+Alt+shift+S)File->ProjectStructure->ProjectSettings->Projectimage.png2、查看工程的jdk(Ctrl+Alt+shift+S)File->ProjectStructure->ProjectSettings->Modules->(需要修改的工程名称)->Sources->image.png3、查看id
- IDEA全文搜索排除无用的文件夹
常敲代码手不生
IDEA学习与实践intellij-ideajavaintellijidea
问题:最近在用到idea的全文搜索关键字功能时候,发现检索很慢,仔细一看发现除了从工程类的java文件检索之外,另外从很多日志文件里也进行了检索,比如工程运行生成的日志文件。导致卡死、搜索巨慢解法:为了提高检索速度,需要idea手动配置过滤掉多余的文件夹操作:file——projectstructure——modules——选择指定的文件夹——右键excluded
- Transformer、BERT、GPT、T5、LLM(大语言模型),以及它们在实际行业中的运用
Funhpc_huachen
transformerbertgpt语言模型深度学习
作为AI智能大模型的专家训练师,我将从主流模型框架的角度来分析其核心技术特点及其在不同实际行业中的应用。我们重点讨论以下几个主流模型框架:Transformer、BERT、GPT、T5、LLM(大语言模型),以及它们在实际行业中的运用。1.Transformer框架Transformer是一种基础的深度学习模型架构,由Google于2017年提出。它引入了注意力机制(Self-Attention)
- Make It a Chorus: Knowledge- and Time-aware Item Modeling for Sequential Recommendation sigir 20
农场主
机器学习
介绍的博客作者讲解摘要传统的推荐系统主要针对固有的、长期的用户偏好进行建模,而动态的用户需求也是非常重要的。通常,历史消费会影响用户对其关系项的需求。例如,用户倾向于一起购买互补产品(iPhone和AirPods),而不是替代产品(Powerbeats和AirPods),尽管替代购买的产品仍然迎合了他/她的偏好。为了更好地模拟历史序列的影响,以前的研究引入了项目关系的语义来捕捉用户的推荐需求。然而
- 念念不忘,必有回响
一棵苹果树而已
20210414日日精进Day15早上复旦大学《风险管理》第三讲学习——上午小明哥茶品鉴——老同学聚会中午——倩的家庭规划方案——下午带大哥去花店看包花——晚上精油直播学习体验(包含工作、财务、人脉、休闲等内容带来的收获和感受):脚踏实地1、慢慢来才更快2、专注一个领域,但不放弃其他学习,互相转化3、念念不忘必有回响:前段时间念着要去同学聚会,今天中午就聚起来了。good:保持正念better:健
- Transformer+目标检测,这一篇入门就够了
BIT可达鸭
▶深度学习-计算机视觉transformer深度学习目标检测计算机视觉自然语言处理
VisionTransformerforObjectDetection本文作者:Encoder-Decoder简介:Encoder-Decoder的缺陷:Attention机制:Self-Attention机制:Multi-HeadAttention:Transformer结构:图像分类之ViT:图像分类之PyramidViT:目标检测之DETR:目标检测之DeformableDETR:本文作者:
- c语言结构体函数传递方式,c-将struct传递给函数
周不润
c语言结构体函数传递方式
这是通过引用传递struct的方法。这意味着您的函数可以访问函数外部的struct并修改其值。您可以通过将指向结构的指针传递给函数来完成此操作。#include/*cardstructuredefinition*/structcard{intface;//definepointerface};//endstructurecardtypedefstructcardCard;/*prototype*/
- chapter04 IDEA使用与快捷键 知识点Note
月下绯烟
Javajavaidea
idea自动生成gettersetter快捷键Alt+InsertProjectStructure项目架构选中文件openinexplorer自动导包设置General->autoImport工程模块管理project->module->package->class一个project可以有多个modules一个modules可以有多个package一个package可以有多个class快捷键汇总一
- 目标检测-YOLOv2
wydxry
深度学习目标检测YOLO人工智能
YOLOv2介绍YOLOv2(YouOnlyLookOnceversion2)是一种用于目标检测的深度学习模型,由JosephRedmon等人于2016年提出,并详细论述在其论文《YOLO9000:Better,Faster,Stronger》中。YOLOv2在保持高速检测的同时,显著提升了检测的精度和泛化能力,成为实时目标检测领域的重要算法之一。核心原理YOLOv2的核心原理是将目标检测问题转化
- Some Technical Advantages about Belt Conveyor
cnm2386
Withtheadvantagesoflargeconveyingcapacity,simplestructure,easymaintenanceandstandardizedparts.Beltconveyoriswidelyusedtoconveytheincompactmaterialsandendarticlesinmining,metallurgy,andcoalindustry,etc
- Flutter 架构蓝图教程
瞿旺晟
Flutter架构蓝图教程flutter-architecture-blueprintsFlutterArchitectureBlueprintsisaprojectthatintroducesMVVMarchitectureandprojectstructureapproachestodevelopingFlutterapps.项目地址:https://gitcode.com/gh_mirror
- 探索图形算法的奇妙世界:goraph
孔岱怀
探索图形算法的奇妙世界:goraphgoraphPackagegoraphimplementsgraphdatastructureandalgorithms.项目地址:https://gitcode.com/gh_mirrors/go/goraph在编程领域,数据结构和算法是构建高效应用的基础。今天,我们要向您推荐一款名为【goraph】的开源项目,它是一个用Go语言实现的图形数据结构及其算法库。
- 统一思想认识
永夜-极光
思想
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