当前位置: 首页 > article >正文

allWebPlugin中间件自定义alert、confirm及prompt使用

allWebPlugin简介

      allWebPlugin中间件是一款为用户提供安全、可靠、便捷的浏览器插件服务的中间件产品致力于将浏览器插件重新应用到所有浏览器。它将现有ActiveX控件直接嵌入浏览器,实现插件加载、界面显示、接口调用、事件回调等。支持Chrome、Firefox、Edge、360等浏览器,接口调用友好、集成方便。为用户提供“信息化系统 + allWebPlugin + 插件 + 浏览器”的解决方案。

        在Web开发时,经常需要使用alert、confirm及prompt对话框与用户交互。提示或获取用户输入。allWebPlugin中间件为了满足上述需要,设计了一套自定义的对话框,供用户使用。

下载地址

链接:百度网盘 请输入提取码 
提取码:z3q0 

如下图所示,下载allWebPlugin_x86_v2.0.0.20_stable_20240921.zip安装包。

安装包截图

​​

使用步骤

        第一步:在使用createContainer创建插件容器时,设置是否使用浏览器插件。在使用本接口之前,必须先给大家介绍一下createContainer接口。具体如下:

createContainer方法
功能说明:创建插件容器。
参数说明:
canvas: 网页canvas画布元素
progID:  字符串  插件容器标识
license: 字符串  授权信息
bFixSize: 布尔  是否固定大小。注意:百分比自适应时,为false,不显示插件截图。本参数自v2.0.0.16起支持
blUsePluginUI: 布尔  是否使用插件容器对话框。注意:false时,使用浏览器自带提示框,提示框显示时会隐藏插件容器;true时,使用插件容器对话框,不会隐藏插件容器窗口。自v2.0.0.20起支持
返回值:
类型:PluginHostCnt对象
当返回值不为null时表示成功,其它表示失败。

通过接口介绍可以知道,blUsePluginUI为false时,使用浏览器自带提示框,提示框显示时会隐藏插件容器;blUsePluginUI为true时,使用插件容器自定义对话框,不会隐藏插件容器窗口。为了能使用插件自定义对话框,我们这里将blUsePluginUI设置为true(默认值为true)。具体代码如下:

if(hostCnt.createContainer(canvas,"PluginContainer",license,false,true) == true)
{	
	//hostCnt.UI.ForceShowUI(false);//创建时隐藏插件,需要调用这句,隐藏插件
}

第二步:使用alert、confirm及prompt接口调用浏览器插件自定义对话框。下面将使用示例分别介绍。

alert示例

如下图,响应插件创建事件,并提示。

function OnCreated(){
	alert("OnCreated 事件");
}

效果如图所示:

alert自定义提示框

confirm示例 

如下图,关闭时提示是否关闭文档。

function Close()
{
	if(confirm("是否关闭文档?")){
				allWebOfficeAx.Close_Asyn(0).then(function(data){
				ShowError(data);
			});
	}
}

效果下图所示

confirm效果展示

 prompt示例

如下图获取用户输入的内容替换选定区域内容。

function WebSetWordContent(){
	  var mText=window.prompt("请输入内容:","测试内容");
	  if (mText==null){
	     return (false);
	  }else{
	     WebOffice.WebObject.ActiveDocument().Application().Selection().Range().Text = mText+"\n";
	  }
	}
prompt效果

作用及意义

        保留了原滋原味的alert、confirm及prompt接口调用习惯,同时有避免了浏览器自带对话框可能存在图层遮挡的问题。

        注意,若要使用浏览器自带的对话框,请在创建插件容器时,将blUsePluginUI设置成false。这样的话,就会使用浏览器自带的对话框,插件容器窗口将在对话框显示时,自动隐藏,关闭对话框时,自动显示。


http://www.kler.cn/news/314119.html

相关文章:

  • 力扣1143-最长公共子序列(Java详细题解)
  • 分布式光伏发电系统如何确保电能质量达到并网要求?
  • Tiny-universe学习笔记1:Qwen-blog
  • 数据飞轮:打造业务增长的持续循环
  • C++——string的了解和使用
  • 相见恨晚的一本书《纳瓦尔宝典:财富与幸福指南》
  • 内网渗透- 内网渗透的基本知识
  • 【物联网】时序数据库InfluxDB解析及1.x版本与2.x版本区别详解
  • Docker 笔记
  • java计算字符串中大写字母的个数
  • 30道常见的软件测试面试题(含答案+文档)
  • 【若依框架】按时间查询数据的操作
  • VScode 使用Code Runner 运行输出控制台中文乱码解决
  • Qt中的延时
  • 基于TCP实现聊天
  • Spring中的Web Service消费者集成(应该被淘汰的技术)
  • c++实现类
  • React基础教程(10):React Hooks
  • 1.4 MySql配置文件
  • C++学习笔记(24)
  • Spring Boot-应用启动问题
  • supermap iclient3d for cesium模型沿路径移动
  • 高效音频格式转换实战:使用Python和FFmpeg处理MP3到WAV的转换20240918
  • WIFI路由器的套杆天线简谈
  • 基于SpringBoot的高校实习信息发布网站【附源码】
  • RK3588/RK3588s运行yolov8达到27ms
  • 如何设置word页码从指定页开始
  • itk c++ 3D医学图像刚性配准
  • Linux面试题-日志量很大,怎么查看到目标日志
  • u-code-input结合u-keyboard实现支付密码+数字键盘