- 包含日志获取webshell
陈望_ning
日志文件关闭:Apache目录下的httpd.conf文件#ErrorLog"logs/error.log"#CustomLog"logs/access.log"common加#号为注释不产生日志文件如果去掉#将会在Apache/logs/目录下产生日志文件linux:access_logerror_logwindows:access.logerror.logaccess_log每一行记录了一次网
- Android 应用权限管理详解
文章目录1.权限类型2.权限请求机制3.权限组和分级4.权限管理的演进5.权限监控和SELinux强制访问控制6.应用权限审核和GooglePlayProtect7.开发者最佳实践8.用户权限管理9.Android应用沙箱模型10.ScopedStorage(分区存储)11.背景位置权限(BackgroundLocationAccess)12.权限回收和自动清理13.权限请求的用户体验设计14.G
- [Ljava.lang.Object; cannot be cast to [Ljava.lang.String;
这些不会的
解释:这个错误是很常见的错误,错误的提示已经很清楚了就是java的Object数组不能转换成为String[]数组,这就说明你要转换的数组它本身是Object类型的数组,但是你却非要把它转换为String类的数组,这当然是错误的。示例:[java]viewplaincopypackagecom.dada;importjava.util.ArrayList;importjava.util.List;
- Python 中的 JWT 认证:从生成到验证的完整指南
盛夏绽放
python开发语言有问必答后端
文章目录Python中的JWT认证:从生成到验证的完整指南一、JWT是什么?为什么需要它?传统session与JWT对比二、JWT的结构解析三、Python中实现JWT1.安装PyJWT包2.生成JWT3.验证JWT4.错误处理大全四、高级应用场景1.双令牌系统(Access+Refresh)详细说明表格:异常处理补充表:2.与FastAPI/Django集成五、安全最佳实践六、性能优化技巧算法性
- 在python中安装geohash库
pip安装使用镜像网站安装pipinstall-iGeohashhttp://mirrors.aliyun.com/pypi/simple报错:CannotdeterminearchiveformatofC:\Users\Zz\AppData\Local\Temp\pip-req-build-t35bzb_f解决办法:重新安装,添加信任pipinstall-ihttps://pypi.tuna.t
- Missing Coin Sum 硬币可以组成的连续面额上限
YouQian772
贪心算法
题目描述Youhavencoinswithpositiveintegervalues.Whatisthesmallestsumyoucannotcreateusingasubsetofthecoins?输入Thefirstinputlinehasanintegern(1≤n≤2*105):thenumberofcoins.Thesecondlinehasnintegersx1,x2,...,xn(
- [Java集合]------ArrayList的扩容机制源码分析
麦兜仔
Java基础java
一、ArrayList的简介publicclassArrayListextendsAbstractListimplementsList,RandomAccess,Cloneable,java.io.SerializableArrayList实现了List、RandomAccess、Cloneable、java.io.Serializable接口Lits:说明ArrayList是一个有序可重复的集合
- 【代码问题】【模型部署】部署千问时,ImportError: Cannot import available module of Qwen2_5_VLForConditionalGeneration
Catching Star
pythonpytorch开发语言
多半是环境的问题,最主要的是python版本要高python==3.12.9accelerate==1.8.1pipinstallqwen-vl-utils[decord]==0.0.8peft==0.14.0transformers==4.52.3torch==2.7.0torchvision==0.22.0modelscope==1.27.1
- ImportError: cannot import name ‘create_prompt_application‘ from ‘prompt_toolkit.shortcuts‘解决方案
weixin_43178406
Python基础课程
大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的知识进行总结与归纳,不仅形成深入且独到的理解,而且能够帮助新手快速入门。 本文主要介绍了ImportError:cannot
- Mysql ERROR 1698
小吉快跑呀
之前MySQL服务端本机上使用密码登陆root账号是没有问题的,但是今天不知道是因为动了哪里,登陆失败并有这个错误代码:Enterpassword:ERROR1698(28000):Accessdeniedforuser'root'@'localhost'解决步骤:在登录命令前加上sudo,这样在输入密码时可以直接回车进去,不需要密码sudomysql-uroot-p查看一下user表,错误的起因
- 7、深入解析 Microsoft 365 核心服务与现代管理理念
躺平摸鱼王
掌握MicrosoftMicrosoft365条件访问访问评审
深入解析Microsoft365核心服务与现代管理理念1.访问控制与安全特性在安全管理方面,条件访问(ConditionalAccess)是一项关键技术。通过设置特定条件,用户只有在满足参数要求或引入额外条件(如多因素认证)时才能访问资源。例如,可设置仅当用户处于公司网络内时才能访问数据;若用户从当前国家以外的IP范围登录,则提示进行多因素认证。还可以限制远程用户仅能通过网页浏览器会话访问,防止他
- 学习014-03-01-01 Access the Audit Log In the Database(访问数据库中的审计日志)
汤姆•猫
XAF学习.netXAFDevSecurityAudit
AccesstheAuditLogIntheDatabase(访问数据库中的审计日志)Youcanuseadatabasemanagementsystem(DBMS)thatsupportsSQLqueryexecutiontoaccesstheauditlogintheapplicationdatabase.IfyouuseMicrosoftSQLServer,werecommendthatyo
- 七步定位 OceanBase 登录报错
爱可生开源社区
mysqloceanbase数据库ActionDB
本文将为大家总结OceanBase集群登录时常见报错“Accessdenied”的排查步骤。作者:何文超,爱可生南区交付服务部DBA团队成员。主要负责MySQL故障处理,MySQL高可用架构改造,OceanBase相关技术支持。爱好足球,羽毛球。爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源。本文约600字,预计阅读需要3分钟。问题背景近期,生产环境通过客户端工具可正常
- 【每天一句,30天学好英语】
壹典心理咨询
【2023-3-18】早安春夏秋冬Everythingthatappearsinlifecannotbepossessed,canonlybeexperienced,infact,itdoesnotmatteraboutlosing,butjustpassing;Itdoesn'tmatterwhatyouget,it'sjustanexperience,whatyougothrough,even
- Qt 网络编程进阶:HTTP 客户端实现
编程与实战
Qt一站式学习网络qthttpc语言c++
在Qt应用程序中,实现高性能、可靠的HTTP客户端是常见需求。Qt提供了丰富的网络模块,包括QNetworkAccessManager、QNetworkRequest和QNetworkReply等类,用于简化HTTP通信。本文将深入探讨Qt网络编程中HTTP客户端的进阶实现,包括异步请求、并发控制、请求重试、数据缓存等高级技术。一、基础HTTP请求实现1.同步HTTP请求#include#incl
- `/etc/samba/smb.conf` 的 `guest ok` 和 `map to guest` 和 `guest account` 和 `usershare allow guests`
kfepiza
网络通讯传输协议IPTCPUDP物联OS操作系统WindowsLinux等#Linux网络linuxbash
/etc/samba/smb.conf的public和guestok和maptoguest和guestaccount和usershareallowguests在Samba的/etc/samba/smb.conf配置文件中,public、guestok、maptoguest、guestaccount和usershareallowguests这几个参数都与**匿名访问(GuestAccess)**密切
- J2EE模式
奔走的蚂蚁~
设计模式java-eejava
系列文章目录J2EE模式特别关注表示层,这些模式是由SunJavaCenter鉴定的,包括:1、MVC模式(MVCPattern);2、业务代表模式(BusinessDelegatePattern);3、组合实体模式(CompositeEntityPattern);4、数据访问对象模式(DataAccessObjectPattern);5、前端控制器模式(FrontControllerPatter
- 【Android Studio】安装Trae插件后Android Studio 启动崩溃问题处理
ganshenml
androidstudioandroidide
Mac安装AndroidStudioPreview启动失败问题排查实录(libjli.dylib错误)❗问题描述在macOS上安装AndroidStudioPreview(如2025.1.1或2025.1.2)时,IDE无法启动,并提示以下错误(即便重装):CannotstarttheruntimeCausedby:0:Failedtoload'libjli.dylib'1:dlopen(.../
- 设计模式(四)J2EE模式
J2EE模式这些设计模式特别关注表示层。这些模式是由SunJavaCenter鉴定的。包含以下模式:MVC模式(MVCPattern)业务代表模式(BusinessDelegatePattern)组合实体模式(CompositeEntityPattern)数据访问对象模式(DataAccessObjectPattern)前端控制器模式(FrontControllerPattern)拦截过滤器模式(
- DAO与Mapper:数据访问层的两种实现范式
引言:困惑的起源在Java持久层开发中,我们经常会同时遇到DAO和Mapper这两个概念。许多开发者会产生这样的疑问:它们是不是同一种东西的不同叫法?为什么MyBatis用Mapper而不用DAO?本文将系统解析二者的关系,帮助开发者建立清晰的认识。一、核心概念解析1.DAO:经典设计模式DAO(DataAccessObject)是一种设计模式,最早出现在J2EE核心模式中。它的核心价值在于:抽象
- INVALID_COLUMN_NAME _AS_PATH
sparksql异常[INVALID_COLUMN_NAME_AS_PATH]ThedatasourceHiveFileFormatcannotsavethecolumnmin(birth_date)becauseitsnamecontainssomecharactersthatarenotallowedinfilepaths.Piease,useanallastorenameidemosqlSE
- YTM32B1M SDK解析08 - I2C双线通信接口
VehSwHwDeveloper
单片机嵌入式硬件YTM32B1M云途
1.概述I2C(Inter-IntegratedCircuit)是YTM32B1M微控制器中的双线串行通信接口,支持多主机、多从机的总线架构。本文档详细解析YTM32B1MSDK中I2C驱动的实现,包括主从模式配置、多速率支持、地址管理和DMA传输等功能。2.文件组织结构2.1头文件i2c_driver.h:I2C驱动的主要头文件,定义了主从模式的所有接口i2c_hw_access.h:I2C硬件
- Enforcement (or not) for module-specific exported symbols
mounter625
Linuxkernel服务器linuxkernel网络eBPF
Loadablekernelmodulesrequireaccesstokerneldatastructuresandfunctionstogettheirjobdone;thekernelprovidesthisaccessbywayofexportedsymbols.Almostsincethismechanismwascreated,therehavebeendebatesoverwhich
- Authorization: Bearer是干什么的?底层原理是什么?
"Authorization:Bearer"是一种在HTTP请求头部中用于传递访问令牌(AccessToken)的常见格式。它用于在客户端和服务器之间进行身份验证和授权操作。底层原理是这样的:当客户端发送HTTP请求时,可以在请求头部中添加"Authorization"字段来传递访问令牌。"Bearer"是一种认证方案(authenticationscheme)的名称,用于指示后面的令牌是访问令牌
- stable diffusion No module named taming
图片gan模型部署报错。pipinstalltaming-transformersImportError:cannotimportname'VectorQuantizer2'from'taming.modules.vqvae.quantize',用https://github.com/CompVis/taming-transformers/blob/master/taming/modules/vq
- 【python】pyinstaller打包后运行exe可执行文件出现报错:ImportError: cannot import name ‘tarfile‘ from ‘backports‘
魔都吴所谓
实用工具Pythonpythonlinux
Traceback(mostrecentcalllast):File"D:\mdwsw\python\Lib\site-packages\PyInstaller\hooks\rthooks\pyi_rth_pkgres.py",line16,inimportpkg_resourcesFile"PyInstaller\loader\pyimod02_importers.py",line499,ine
- Xilinx-FPGA-PCIe-XDMA 驱动内核兼容性问题修复方案
XXYBMOOO
linux运维服务器
问题1:implicitdeclarationoffunction"mmiowb()"解决方法:在libxdma.c和cdev_xvc.c文件中注释掉所有mmiowb()函数调用问题2:"macro"access_ok"passed3arguments,buttakesjust2"解决方法:修改cdev_ctrl.c文件中两处access_ok宏调用-result=!access_ok(VERIF
- cx_Oracle.DatabaseError: DPI-1047: Cannot locate a 64-bit Oracle Client library:
首先确定pthon版本和oracle客户端版本一致即可,即都为64位或都为32位。但我这里要讲的是如何解决这个问题的过程:在python中的报错中提示了这个:DPI-1047:Cannotlocatea64-bitOracleClientlibrary:“Thespecifiedmodulecouldnotbefound”.Seehttps://cx-oracle.readthedocs.io/e
- LeetCode #841 Keys and Rooms 钥匙和房间
air_melt
841KeysandRooms钥匙和房间Description:Therearenroomslabeledfrom0ton-1andalltheroomsarelockedexceptforroom0.Yourgoalistovisitalltherooms.However,youcannotenteralockedroomwithouthavingitskey.Whenyouvisitaroom
- Mac电脑_钥匙串操作选项变灰的情况下如何删除?
程知农
百科IT_百科IT_OC开发和swift开发macos
Mac电脑_钥匙串操作选项变灰的情况下如何删除?这时候可以使用相关的终端命令进行操作。下面附加文章《Mac电脑_钥匙串操作的终端命令》。《Mac电脑_钥匙串操作的终端命令》(来源:百度~百度AI发布时间:2025-06)在Mac上,钥匙串(Keychain)是存储和管理证书、密码和其他敏感信息的安全库。虽然通常通过钥匙串访问控制台(KeychainAccess)图形界面进行管理,但也可以通过终端命
- 统一思想认识
永夜-极光
思想
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