- Programmatically Upload a document with new Version to SharePoint List
weixin_30335353
c#
SearchSharePointLegacyVersions-DevelopmentandOtherProgrammingForumSearchAllSharePointProductsandTechnologiesForumsSearchAllMSDNForumsAskaquestionTuesday,April14,20096:44PMda.3vil.geniusda.3vil.genius6
- SharePoint【学习笔记】-- SharePoint 内置字段名/GUID大全
weixin_30525825
这个SharePointInternalFieldNames–SharePoint2010解决大问题了,每次找内置字段名和GUID都很麻烦,这个列表提供了汇总清单,以后查找就方便多了。这份清单列出了每个内置字段的Title(取字段值需要)、GUID(取字段对象需要)、InternalName(CAML需要)。比如,下面的例子取任务列表的“相关内容”链接:1://获取任务列表的“相关内容”链接2:G
- 【转】SharePoint 2010 内置字段名/GUID 大全
weixin_30412013
ui
【更新:原文字段清单全拷贝过来了。】这个SharePointInternalFieldNames–SharePoint2010解决大问题了,每次找内置字段名和GUID都很麻烦,这个列表提供了汇总清单,以后查找就方便多了。这份清单列出了每个内置字段的Title(取字段值需要)、GUID(取字段对象需要)、InternalName(CAML需要)。比如,下面的例子取任务列表的“相关内容”链接:1://
- Vue实现文档在线预览
认证者
vue.js前端javascript
一、OfficeWebViewer(微软)说明1说明1直接在浏览器中打开Word、PowerPoint或Excel文件,将下载链接转换为OfficeWebViewer链接以在您的网站中使用注意:在SharePoint2019中,可插入的文件类型仅限于Word、Excel和PPt,(.doc、.docx、xls、.xlsx、.pot、.potx、.ppt和.pptx)(不支持pdf)。优点:1.没有
- Alist 网盘聚合挂载神器在FreeBSD下编译安装
skywalk8163
项目实践运维服务器freebsd网盘
Alist支持各种主流网盘,全部统一管理,妈妈再也不怕我的网盘太多太乱了!Alist是一个支持各种网盘的神器,它的特点:多种存储本地存储阿里云盘OneDrive/Sharepoint(国际版,世纪互联,de,us)天翼云盘(个人云,家庭云)GoogleDrive123云盘FTP/SFTPPikPakS3Seafile又拍云对象存储WebDav(支持无API的OneDrive/SharePoint)
- 如何使用集成在 SharePoint 中的开源 ONLYOFFICE 文档替代微软 Office
ONLYOFFICE
ONLYOFFICE文档是一款开源的办公套件,在GNUAGPLv3.0下分发。它包括基于网络的查看器和协作编辑器,可用于处理文本文档、电子表格和演示文稿,与OOXML格式高度兼容。ONLYOFFICE文档可以与多种云服务集成,如Nextcloud、ownCloud、Seafile、Alfresco、Plone等,您也可以将其嵌入到您自己的解决方案中。这些编辑器也可以作为完整的效率解决方案ONLYO
- windows 安装sql server 华为云文档
linux实践操作记录
linux服务器运维
先安装net3.5,剩下安装sqlserver步骤看下面文档安装SQLServer_弹性云服务器ECS_最佳实践_搭建MicrosoftSharePointServer2016_华为云(huaweicloud.com)
- 全新SharePoint Embedded介绍
ituff
现代办公巨硬生活码代码microsoftsharepointdevelopment
SharePointEmbedded是一种为企业和独立软件供应商(ISVs)构建自定义内容应用程序的新方法。其提供了一个无头(headless)的API模式,通过在企业现有的Microsoft365租户内存储内容,将协作、安全和合规性等管理能力集成到任何应用程序中。企业可以使用SharePointEmbedded来驱动业务应用程序,为应用程序用户和负责管理这些新应用程序的系统管理员创造一个统一且熟
- 饿了么否认与字节跳动接洽收购;中国AI大模型专利数全球第一;微软SharePoint被曝严重漏洞 | 极客头条
极客日报
人工智能microsoftsharepoint
「极客头条」——技术人员的新闻圈!CSDN的读者朋友们早上好哇,「极客头条」来啦,快来看今天都有哪些值得我们技术人关注的重要新闻吧。整理|苏宓出品|CSDN(ID:CSDNnews)一分钟速览新闻点!饿了么否认与字节跳动接洽收购罗永浩暂缓AR业务转做大模型?内部人士:不实,仍专注AR研发中国电信星辰AI大模型开源消息称理想汽车成立AI技术委员会:统筹全公司AI资源、推进产品落地《王者荣耀》抖音直播
- Linux 系统之部署 ZFile 在线网盘服务
开源极客行
开源项目linux运维
一、ZFile介绍1)ZFile简介官网:https://www.zfile.vip/GitHub:https://github.com/zfile-dev/zfileZFile是一款基于Java的在线网盘程序,支持对接S3、OneDrive、SharePoint、又拍云、本地存储、FTP等存储源,支持在线浏览图片、播放音视频,文本文件等文件类型。2)ZFile特点Docker、DockerCom
- PowerBI:如何在以SharePoint文件做为数据源?
牛猫Data
PowerBIpowerbisharepoint数据分析数据可视化microsoft
问题描述:有朋友最近询问,在PowerBI中如何以SharePoint中的文件做为数据源,进行报告的设计开发?今天抽一些时间,为大家做一个样例,供大家参考。解决方案:找到将要使用的SharePoint中文件的Weblink地址,此步最为关键;打开PowerBI,通过Weblink文件地址,成功文件作为PowerBI数据源;操作步骤:1,在一个测试使用的SharePoint站点,上传我们的测试Exc
- Aspose.Cells Java去除水印和数量限制
罗政
javapython开发语言
什么是Aspose?Aspose是一家开发软件公司,提供众多屡获殊荣的API,开发人员可以使用这些API创建、编辑、转换或渲染Office、OpenOffice、PDF、图像、ZIP、CAD、XPS、EPS、PSD和更多文件格式.API可用于不同的平台,包括.NET、Java、C++、Python、PHP、Xamarin和Android、MicrosoftSharePoint的报告解决方案以及Mi
- 全新SharePoint Premium介绍
ituff
现代办公巨硬生活Data&AIsharepointmicrosoftOffice365ai
在2023年微软Ignite会议中,微软推出了SharePointPremium,这是一个人工智能平台,旨在改变你在云中的内容体验。SharePointPremium是微软Syntex的进化。什么是SharePointSharePoint是微软开发的协作和内容管理平台。自2001年以来可用,主要用于企业。它提供了一套服务,使组织能够在组织内部高效地共享和管理文档、信息和想法。SharePoint允
- Power Automate删除SharePoint Online或OneDrive for Business文件版本历史
ituff
现代办公巨硬生活PowerPlatformsharepointonedrivemicrosoftpowerautomatepowerplatform
SharePointOnline和OneDriveforBusiness支持版本控制,可以保留文件的版本历史,方便用户随时查看和恢复以前的版本。但该功能也会占用大量SharePointOnline或OneDriveforBusiness存储空间。官方删除版本历史的方法无法批量操作,故今天提供一种使用PowerAutomate来删除SharePointOnline或OneDriveforBusine
- 关于Ivanti 曝新的 MobileIron 零日漏洞,正在被恶意利用的动态情报
威胁情报收集站
威胁分析网络安全web安全
一、基本内容美国IT软件公司Ivanti于2023年8月23日提醒客户,一个关键的SentryAPI身份验证绕过漏洞正在被恶意利用。IvantiSentry(前身为MobileIronSentry)在MobileIron部署中充当MicrosoftExchangeServer等企业ActiveSync服务器或Sharepoint服务器等后端资源的守门员,它还可以充当Kerberos密钥分发中心代理
- cs环境部署
longersking
安装配置cs搭建docker
配置搭建cs工具两种方式cs工具=》狐狸工具箱,微信上搜索或者cs-OneDrive(sharepoint.com)提取密码www.ddosi.org需要云服务器(个人猜测如果是靶场的话,可以采用一台所有主机都能访问的主机作为服务端配置)非docker方式搭建将cs整个文件上传到服务器端,这里注意,最好上传版本略低的cs工具,否则会因为服务器内核问题导致无法运行,笔者采用4.7版本,即狐狸工具箱自
- EasyExcel生成多sheet页的excel
叫我泪下
javaexceljava
一、controller层@ApiOperation(value="明细查询导出")@PostMapping(value="/SummaryDetailExport")publicvoidsummaryDetailExport(@RequestBodySearchDTOdto,HttpServletResponseresponse)throwsIOException{reportService.d
- SPS技术体系分析(张永康)
scott_chou
SharePointsharepointstringservice数据库文档microsoft
一、程序文件及IIS配置二、SPS数据库对象分析21.主要数据库表22.主要表及字段23.WindowsSharePointServices存储过程三、SPS封装后的对象分析31.SPS主要对象体系结构32.Microsoft.SharePoint命名空间简介33.WindowsSharePointServicesWebService简介34.SharePoint事件分析四、开发相关资源一、程序文
- SPS技术体系分析(张永康)
iteye_9207
数据库操作系统内存管理
SPS技术体系分析(张永康)2010年07月18日一、程序文件及IIS配置二、SPS数据库对象分析21.主要数据库表22.主要表及字段23.WindowsSharePointServices存储过程三、SPS封装后的对象分析31.SPS主要对象体系结构32.Microsoft.SharePoint命名空间简介33.WindowsSharePointServicesWebService简介34.Sh
- 【Microsoft Azure 的1024种玩法】四十九.在Azure中使用Azure VirtualMachines 搭建Microsoft SharePoint 2016
一只特立独行的兔先森
【MicrosoftAzure的1024种玩法】azuremicrosoftsharepoint
【简介】SharePointServer2016的设计、开发和测试以Microsoft软件即服务(SaaS)战略为核心。SharePointServer2016广泛借鉴了该经验,旨在帮助您实现更高级别的可靠性和性能,并在满足用户对更大业务移动性的需求的同时为用户提供支持,本文主要介绍了如何.在Azure中使用AzureVirtualMachines搭建MicrosoftSharePoint2016
- Dynamic Web TWAIN资讯:Web应用程序的扫描仪SDK
RoffeyYang
DynamicWebTWAINjavaweb
DynamicWebTWAIN是一个专为Web应用程序设计的TWAIN扫描识别控件。你只需在TWAIN接口写几行代码,就可以用兼容TWAIN的扫描仪扫描文档或从数码相机/采集卡中获取图像。然后用户可以编辑图像并将图像保存为多种格式,用户可保存图像到远程数据库或者SharePoint。该TWAIN控件还支持上传和处理本地图像。本文汇集了一些DynamicWebTWAIN编程方面的常见问题,并且针对这
- ReportService部署之匿名访问
龙井茶Sky
SQLServerReportService匿名验证报表
SQL2008配置了ReporService后,可以访问了,但是每次都要输入Windows用户验证,很是繁琐。那么我想实现匿名验证。这里,需要大概知道下它的原理,我们访问ReportService的管理地址、或者Web地址,在其安装目录下都是有对应目录的。查看对应的目录,可以看到和正常的web程序一样,也有对应的config文件,那么我们就可以修改config文件去实现匿名访问:首先备份文件(注意
- 从简单DEMO开始学习Power Apps【DAY 2】
m0_64916060
sharepoint
自动化云端流在完成了申请者的功能模块之后,我们需要让我们的申请能够被审核人员看见并且做出回应。同时我们需要对上传的信息以及审核回应的信息进行处理,如果完全由人力去逐个修改,那是很麻烦的。所以,我们就用到了自动化云端流。创建自动化云端流生成新的流打开PowerAutomate,创建自动化云端流,输入流名称并选择触发器为当创建项时在触发器中输入上一篇文章中在SharePoint中创建的数据源的地址,并
- SharePoint-连接Excel
小沐°
SharePoint微软sharepointexcel
PowerAutomate和PowerApps想要连接Excel表格的话,可以在OneDrive或SharePoint网站的文档中创建Excel文件,然后把Excel转换成table表格以SharePoint为例,在文档中点击新建,选择Excel工作簿填写内容,然后全选选中在上方搜索框里输入table,选择表格点击确定这样就是table结构了
- Power Automate-变量和excel表数据的应用
小沐°
PowerAutomateexcel
前提表格PowerAutomate连接excel请参考:SharePoint-连接Excel-CSDN博客需求1:计算表格中某列的和添加操作,搜索变量,选择初始化变量添加变量的名称、类型和初始值再新增操作,搜索Excel,点击查看更多选择列出表中存在的行选择提前在SharePoint网站中的文档创建的excel表格添加新操作,搜索控件,选择应用到每一个选择value然后在里面添加操作,搜索变量,选
- 苍穹外卖项目学习日记(15)
荼图
苍穹外卖springbootjava
苍穹外卖项目学习日记(15)day12数据报表导出在ReportController类添加数据报表方法ReportController.java@GetMapping("/export")@ApiOperation("导出数据报表")publicvoidexport(HttpServletResponseresponse)throwsIOException{reportService.export
- 苍穹外卖项目学习日记(14)
荼图
苍穹外卖springbootjava
苍穹外卖项目学习日记(14)day11营业额统计在admin文件夹下创建ReportController类,并且添加营业额统计方法ReportController.javapackagecom.sky.controller.admin;importcom.sky.result.Result;importcom.sky.service.ReportService;importcom.sky.vo.T
- Making SharePoint Web Parts Interact
weixin_34348111
MakingSharePointWebPartsInteract看到www.theserverside.net上面有一篇介绍connectedWebParts开发文章《MakingSharePointWebPartsInteract》byDinoEsposito,推荐!http://www.theserverside.net/articles/showarticle.tss?id=WebParts
- Developing SharePoint WebParts using User Controls and Web Applications
lixintao200702
sharepointwebwebpartsuserapplicationdeployment
DevelopingSharePointWebPartsusingUserControlsandWebApplications92Postedbyggalipeau|Postedon18-05-2009Category:featured,sharepoint,webpart,wspbuilderIfyou’vereadmyblogsbefore,thenyouprobablyknowIamafan
- SharePoint 的 Web Parts 是什么
HoneyMoose
sharepoint
WebParts可以说是微软SharePoint的基础组件。根据微软自己的描述,WebParts是SharePoint对内容进行构建的基础,可以想想成一块一块的砖块。我们需要使用这些砖块来完成一个页面的构建。我们可以利用WebParts在SharePoint中添加文本,图片,文件,视频,甚至是动态内容。添加WebParts在完成页面布局的Section后,单击页面布局上面的Section,上的X号
- ASM系列四 利用Method 组件动态注入方法逻辑
lijingyao8206
字节码技术jvmAOP动态代理ASM
这篇继续结合例子来深入了解下Method组件动态变更方法字节码的实现。通过前面一篇,知道ClassVisitor 的visitMethod()方法可以返回一个MethodVisitor的实例。那么我们也基本可以知道,同ClassVisitor改变类成员一样,MethodVIsistor如果需要改变方法成员,注入逻辑,也可以
- java编程思想 --内部类
百合不是茶
java内部类匿名内部类
内部类;了解外部类 并能与之通信 内部类写出来的代码更加整洁与优雅
1,内部类的创建 内部类是创建在类中的
package com.wj.InsideClass;
/*
* 内部类的创建
*/
public class CreateInsideClass {
public CreateInsideClass(
- web.xml报错
crabdave
web.xml
web.xml报错
The content of element type "web-app" must match "(icon?,display-
name?,description?,distributable?,context-param*,filter*,filter-mapping*,listener*,servlet*,s
- 泛型类的自定义
麦田的设计者
javaandroid泛型
为什么要定义泛型类,当类中要操作的引用数据类型不确定的时候。
采用泛型类,完成扩展。
例如有一个学生类
Student{
Student(){
System.out.println("I'm a student.....");
}
}
有一个老师类
- CSS清除浮动的4中方法
IT独行者
JavaScriptUIcss
清除浮动这个问题,做前端的应该再熟悉不过了,咱是个新人,所以还是记个笔记,做个积累,努力学习向大神靠近。CSS清除浮动的方法网上一搜,大概有N多种,用过几种,说下个人感受。
1、结尾处加空div标签 clear:both 1 2 3 4
.div
1
{
background
:
#000080
;
border
:
1px
s
- Cygwin使用windows的jdk 配置方法
_wy_
jdkwindowscygwin
1.[vim /etc/profile]
JAVA_HOME="/cgydrive/d/Java/jdk1.6.0_43" (windows下jdk路径为D:\Java\jdk1.6.0_43)
PATH="$JAVA_HOME/bin:${PATH}"
CLAS
- linux下安装maven
无量
mavenlinux安装
Linux下安装maven(转) 1.首先到Maven官网
下载安装文件,目前最新版本为3.0.3,下载文件为
apache-maven-3.0.3-bin.tar.gz,下载可以使用wget命令;
2.进入下载文件夹,找到下载的文件,运行如下命令解压
tar -xvf apache-maven-2.2.1-bin.tar.gz
解压后的文件夹
- tomcat的https 配置,syslog-ng配置
aichenglong
tomcathttp跳转到httpssyslong-ng配置syslog配置
1) tomcat配置https,以及http自动跳转到https的配置
1)TOMCAT_HOME目录下生成密钥(keytool是jdk中的命令)
keytool -genkey -alias tomcat -keyalg RSA -keypass changeit -storepass changeit
- 关于领号活动总结
alafqq
活动
关于某彩票活动的总结
具体需求,每个用户进活动页面,领取一个号码,1000中的一个;
活动要求
1,随机性,一定要有随机性;
2,最少中奖概率,如果注数为3200注,则最多中4注
3,效率问题,(不能每个人来都产生一个随机数,这样效率不高);
4,支持断电(仍然从下一个开始),重启服务;(存数据库有点大材小用,因此不能存放在数据库)
解决方案
1,事先产生随机数1000个,并打
- java数据结构 冒泡排序的遍历与排序
百合不是茶
java
java的冒泡排序是一种简单的排序规则
冒泡排序的原理:
比较两个相邻的数,首先将最大的排在第一个,第二次比较第二个 ,此后一样;
针对所有的元素重复以上的步骤,除了最后一个
例题;将int array[]
- JS检查输入框输入的是否是数字的一种校验方法
bijian1013
js
如下是JS检查输入框输入的是否是数字的一种校验方法:
<form method=post target="_blank">
数字:<input type="text" name=num onkeypress="checkNum(this.form)"><br>
</form>
- Test注解的两个属性:expected和timeout
bijian1013
javaJUnitexpectedtimeout
JUnit4:Test文档中的解释:
The Test annotation supports two optional parameters.
The first, expected, declares that a test method should throw an exception.
If it doesn't throw an exception or if it
- [Gson二]继承关系的POJO的反序列化
bit1129
POJO
父类
package inheritance.test2;
import java.util.Map;
public class Model {
private String field1;
private String field2;
private Map<String, String> infoMap
- 【Spark八十四】Spark零碎知识点记录
bit1129
spark
1. ShuffleMapTask的shuffle数据在什么地方记录到MapOutputTracker中的
ShuffleMapTask的runTask方法负责写数据到shuffle map文件中。当任务执行完成成功,DAGScheduler会收到通知,在DAGScheduler的handleTaskCompletion方法中完成记录到MapOutputTracker中
- WAS各种脚本作用大全
ronin47
WAS 脚本
http://www.ibm.com/developerworks/cn/websphere/library/samples/SampleScripts.html
无意中,在WAS官网上发现的各种脚本作用,感觉很有作用,先与各位分享一下
获取下载
这些示例 jacl 和 Jython 脚本可用于在 WebSphere Application Server 的不同版本中自
- java-12.求 1+2+3+..n不能使用乘除法、 for 、 while 、 if 、 else 、 switch 、 case 等关键字以及条件判断语句
bylijinnan
switch
借鉴网上的思路,用java实现:
public class NoIfWhile {
/**
* @param args
*
* find x=1+2+3+....n
*/
public static void main(String[] args) {
int n=10;
int re=find(n);
System.o
- Netty源码学习-ObjectEncoder和ObjectDecoder
bylijinnan
javanetty
Netty中传递对象的思路很直观:
Netty中数据的传递是基于ChannelBuffer(也就是byte[]);
那把对象序列化为字节流,就可以在Netty中传递对象了
相应的从ChannelBuffer恢复对象,就是反序列化的过程
Netty已经封装好ObjectEncoder和ObjectDecoder
先看ObjectEncoder
ObjectEncoder是往外发送
- spring 定时任务中cronExpression表达式含义
chicony
cronExpression
一个cron表达式有6个必选的元素和一个可选的元素,各个元素之间是以空格分隔的,从左至右,这些元素的含义如下表所示:
代表含义 是否必须 允许的取值范围 &nb
- Nutz配置Jndi
ctrain
JNDI
1、使用JNDI获取指定资源:
var ioc = {
dao : {
type :"org.nutz.dao.impl.NutDao",
args : [ {jndi :"jdbc/dataSource"} ]
}
}
以上方法,仅需要在容器中配置好数据源,注入到NutDao即可.
- 解决 /bin/sh^M: bad interpreter: No such file or directory
daizj
shell
在Linux中执行.sh脚本,异常/bin/sh^M: bad interpreter: No such file or directory。
分析:这是不同系统编码格式引起的:在windows系统中编辑的.sh文件可能有不可见字符,所以在Linux系统下执行会报以上异常信息。
解决:
1)在windows下转换:
利用一些编辑器如UltraEdit或EditPlus等工具
- [转]for 循环为何可恨?
dcj3sjt126com
程序员读书
Java的闭包(Closure)特征最近成为了一个热门话题。 一些精英正在起草一份议案,要在Java将来的版本中加入闭包特征。 然而,提议中的闭包语法以及语言上的这种扩充受到了众多Java程序员的猛烈抨击。
不久前,出版过数十本编程书籍的大作家Elliotte Rusty Harold发表了对Java中闭包的价值的质疑。 尤其是他问道“for 循环为何可恨?”[http://ju
- Android实用小技巧
dcj3sjt126com
android
1、去掉所有Activity界面的标题栏
修改AndroidManifest.xml 在application 标签中添加android:theme="@android:style/Theme.NoTitleBar"
2、去掉所有Activity界面的TitleBar 和StatusBar
修改AndroidManifes
- Oracle 复习笔记之序列
eksliang
Oracle 序列sequenceOracle sequence
转载请出自出处:http://eksliang.iteye.com/blog/2098859
1.序列的作用
序列是用于生成唯一、连续序号的对象
一般用序列来充当数据库表的主键值
2.创建序列语法如下:
create sequence s_emp
start with 1 --开始值
increment by 1 --増长值
maxval
- 有“品”的程序员
gongmeitao
工作
完美程序员的10种品质
完美程序员的每种品质都有一个范围,这个范围取决于具体的问题和背景。没有能解决所有问题的
完美程序员(至少在我们这个星球上),并且对于特定问题,完美程序员应该具有以下品质:
1. 才智非凡- 能够理解问题、能够用清晰可读的代码翻译并表达想法、善于分析并且逻辑思维能力强
(范围:用简单方式解决复杂问题)
- 使用KeleyiSQLHelper类进行分页查询
hvt
sql.netC#asp.nethovertree
本文适用于sql server单主键表或者视图进行分页查询,支持多字段排序。KeleyiSQLHelper类的最新代码请到http://hovertree.codeplex.com/SourceControl/latest下载整个解决方案源代码查看。或者直接在线查看类的代码:http://hovertree.codeplex.com/SourceControl/latest#HoverTree.D
- SVG 教程 (三)圆形,椭圆,直线
天梯梦
svg
SVG <circle> SVG 圆形 - <circle>
<circle> 标签可用来创建一个圆:
下面是SVG代码:
<svg xmlns="http://www.w3.org/2000/svg" version="1.1">
<circle cx="100" c
- 链表栈
luyulong
java数据结构
public class Node {
private Object object;
private Node next;
public Node() {
this.next = null;
this.object = null;
}
public Object getObject() {
return object;
}
public
- 基础数据结构和算法十:2-3 search tree
sunwinner
Algorithm2-3 search tree
Binary search tree works well for a wide variety of applications, but they have poor worst-case performance. Now we introduce a type of binary search tree where costs are guaranteed to be loga
- spring配置定时任务
stunizhengjia
springtimer
最近因工作的需要,用到了spring的定时任务的功能,觉得spring还是很智能化的,只需要配置一下配置文件就可以了,在此记录一下,以便以后用到:
//------------------------定时任务调用的方法------------------------------
/**
* 存储过程定时器
*/
publi
- ITeye 8月技术图书有奖试读获奖名单公布
ITeye管理员
活动
ITeye携手博文视点举办的8月技术图书有奖试读活动已圆满结束,非常感谢广大用户对本次活动的关注与参与。
8月试读活动回顾:
http://webmaster.iteye.com/blog/2102830
本次技术图书试读活动的优秀奖获奖名单及相应作品如下(优秀文章有很多,但名额有限,没获奖并不代表不优秀):
《跨终端Web》
gleams:http