Chrome瀏覽器調用ActiveX控件之allWebOffice在線編輯控件

?背景

? ? ? ? allWebOffice控件能夠實現在瀏覽器窗口中在線操作文檔的應用(閱讀、編輯、保存等),支持編輯文檔時保留修改痕跡,支持書簽位置內容動態填充,支持公文套紅,支持文檔保護控制等諸多辦公功能,本文將介紹allWebOffice控件通過allWebPlugin中間件如何在Web系統中使用--只需一個接口個四步驟,即可看到插件運行效果。

準備工作

1、下載allWebPlugin中間件產品,具體如下:

鏈接:百度網盤?

?allWebPlugin中間件集成allWebOffice控件步驟

第一步:導入js相關文件

導入allWebPlugin.Common.js,allWebPlugin.UI.js及allWebPlugin.Main.js文件。

 <script type="text/javascript" src="js/allWebPlugin.Common.v2.0.0.60.js"></script><script type="text/javascript" src="js/allWebPlugin.UI.v2.0.0.60.js"></script> <script type="text/javascript" src="js/allWebPlugin.Main.v2.0.0.60.js"></script> 

第二步:添加頁面元素

在需要展示插件的位置添加canvas頁面元素(注意:其他頁面元素也可以)。如下圖所示:

<canvasid="allWebOfficeAx"width="1024"height="600"><pclass="error">Sorry,Itlooksasthoughyourbrowserdoesnotsupportthecanvastag.</p></canvas>

第三步:創建插件對象

使用awp_CreatePlugin接口創建ActiveX插件對象。如下圖所示。

awp_CreatePlugin("allWebOfficeAx","{6888ECA8-57D0-6E0E-9B9B-F1FF9B2DBD86}")

第四步:插件接口調用及事件響應

awp_CreatePlugin默認使用createProxyPlugin創建插件對象。可以像傳統插件接口調用 一樣,調用插件對象的方法和屬性,調用讀屬性與調用插件方法接口一致。如下圖所示:

allWebOfficeAx.GetDisplayStyle().ShowMenuBar=false;
allWebOfficeAx.GetDisplayStyle().ShowOpenProgress=false

如果需要響應插件事件,須在插件創建時,實現插件響應函數。如下圖所示:

functionOnCreated(){alert("OnCreated事件");//allWebOffice插件創建事件
}

運行效果

到此,allWebOffice控件就集成完了。運行Chrome、Edge瀏覽器運行效果如下:

allWebOffice控件在Chrome瀏覽器效果圖
allWebOffice控件在Chrome瀏覽器效果圖
allWebOffice控件在Firefox運行效果

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/95232.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/95232.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/95232.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

嵌入式 - 硬件:51單片機

本節重點1. MCU、CPU、GPU、NPU、SOC、MPU、FPU2. 內存、外存的區別3. RAM和ROM的區別&#xff0c;單片機RAM大小4. 三大總線及其特點5. 發光二極管分類及其特點6. 數碼管顯示原理一、嵌入式以應用為中心&#xff0c;以計算機技術為基礎&#xff0c;軟硬件可裁剪的專用計算機系…

Java Spring Boot 中 Redis 緩存穿透問題排查與解決方案

前言 作為一名普通的 Java 程序開發者&#xff0c;日常開發中難免會遇到一些看似簡單但實際排查起來非常棘手的問題。在最近的一個項目中&#xff0c;我遇到了一個 Redis 緩存穿透的問題&#xff0c;導致系統在高并發下性能急劇下降&#xff0c;甚至出現服務響應超時的情況。這…

Ubuntu下配置并遠程連接MySQL

1、安裝mysql-serverapt update apt install mysql-server2、修改配置文件/etc/mysql/mysql.conf.d/mysqld.cnfbind-address 0.0.0.0 mysqlx-bind-address 0.0.0.03、啟動并設置服務為開機自啟動systemctl enable mysql.service --now4、查看服務狀態systemct…

開源 C++ QT Widget 開發(九)圖表--儀表盤

文章的目的為了記錄使用C 進行QT Widget 開發學習的經歷。臨時學習&#xff0c;完成app的開發。開發流程和要點有些記憶模糊&#xff0c;趕緊記錄&#xff0c;防止忘記。 相關鏈接&#xff1a; 開源 C QT Widget 開發&#xff08;一&#xff09;工程文件結構-CSDN博客 開源…

怎么為服務器設置或重置服務器密碼?

創建服務器后&#xff0c;您可以設置服務器的登錄密碼&#xff0c;如果你忘記了密碼&#xff0c;可以重新設置實例的密碼。本文講一下如何重置阿里云服務器密碼。使用限制&#xff1a;離線重置密碼僅支持在控制臺設置或重置服務器管理員賬號的密碼。?Windows 實例的默認用戶名…

【線性代數入門 | 那忘算8】洛谷P3389 高斯消元(內附行列式教學)

想了想還是單開了一篇&#xff0c;數學王子值得&#xff01; 專欄指路&#xff1a;《再來一遍一定記住的算法&#xff08;那些你可能忘記了的算法&#xff09;》 前置知識&#xff1a; 矩陣&#xff1a;數的集合&#xff0c;一般是方程的系數。 題面&#xff1a; 洛谷P3389 …

GEM5學習(3):如何快速創建一個組件

通過一個圖并行計算的測試用例&#xff0c;來學習如何快速構建一個目標組件 其核心思想是通過繼承現有組件再拓展自定義參數 創建腳本 如何創建腳本&#xff0c;具體還可以看官方說明&#xff1a;gem5: Adding cache to configuration script mkdir configs/tutorial/part1/…

數據血緣中的圖數據庫如何選擇

Neo4j 和 ArangoDB 都是非常優秀的圖數據庫&#xff0c;但它們的設計哲學、核心架構和適用場景有顯著的區別。 簡單來說&#xff0c;核心區別在于&#xff1a; Neo4j 是原生圖數據庫&#xff0c;專為處理圖數據和圖查詢而設計和優化。ArangoDB 是多模型數據庫&#xff0c;同時支…

第27章學習筆記|學無止境:從“會用命令”到“會做工具”的進階路線

第27章學習筆記|學無止境:從“會用命令”到“會做工具”的進階路線 你已經能用 PowerShell 解決很多日常問題了。接下來最重要的,就是把零散命令升級為可復用的工具,并在真實場景中不斷打磨。 一、為什么下一步是“工具化(Toolmaking)” 當任務開始“重復、多人用、可移…

C++編程語言:標準庫:第37章——正則表達式(Bjarne Stroustrup)

第 37章 正則表達式(Regular Expressions) 目錄 37.1 正則表達式(規范表達式)(Regular Expressions) 37.1.1 正則表達式相關符號(Regular Express Notation) 37.2 regex 37.2.1 匹配結果(Match Results) 37.2.2 格式化(Formatting) 37.3 正則表達式函數 37.3.1 …

sciml包scixgboost函數發布,輕松完成機器學習xgboost分析

Xgboost是Boosting算法的其中一種&#xff0c;Boosting算法的思想是將許多弱分類器集成在一起&#xff0c;形成一個強分類器。因為Xgboost是一種提升樹模型&#xff0c;所以它是將許多樹模型集成在一起&#xff0c;形成一個很強的分類器。 我目前整合了多個R包&#xff0c;編寫…

Ubuntu中配置JMmeter工具

1、檢查是否已安裝Java 環境java -version若未安裝&#xff0c;執行以下命令安裝 OpenJDKsudo apt update sudo apt install openjdk-11-jdk # 或 openjdk-17-jdk2、用wget直接下載JMeter壓縮包wget https://dlcdn.apache.org/jmeter/binaries/apache-jmeter-5.6.3.tgz將下載的…

LeetCode 925.長按鍵入

你的朋友正在使用鍵盤輸入他的名字 name。偶爾&#xff0c;在鍵入字符 c 時&#xff0c;按鍵可能會被長按&#xff0c;而字符可能被輸入 1 次或多次。 你將會檢查鍵盤輸入的字符 typed。如果它對應的可能是你的朋友的名字&#xff08;其中一些字符可能被長按&#xff09;&#…

9.3 模擬

lc190 顛倒二進制ret (ret << 1) (n >> i & 1);class Solution { public:uint32_t reverseBits(uint32_t n) {uint32_t ret 0;for (int i 0; i < 32; i)ret (ret << 1) (n >> i & 1);return ret;} };lc14 flag checkclass Solution {…

esp32小智ai對話機器人

ESP-IDF 環境搭建與問題解決 下載與安裝 ESP-IDF 官方下載地址&#xff1a;https://dl.espressif.com/dl/esp-idf建議使用穩定版本&#xff0c;避免開發版可能存在的兼容性問題 中文編碼問題解決方案 $env:PYTHONIOENCODING "utf-8" $env:PYTHONUTF8 "1&q…

11.類與對象

目錄 1. 創建類與對象示例 1.1 __init__ 初始化器: 1.2 __new__構造器 1.3 什么時候需要重寫 __new__? 1.4 init和new對比 2. 屬性 2.1 實例屬性 2.2 類屬性 3. 作用域命名約定 3.1 非公共屬性 3.2 公共屬性 3.3 名稱修飾 3.4 一眼看懂三種“可見性” 4. 方法 …

【js】Promise.try VS try-catch

前言JavaScript 正為 Promise 添加一個新的方法&#xff0c;使得處理異步函數更加清晰和安全。Promise.try 允許將任何函數包裝在 Promise 中&#xff0c;無論它是否異步。使用 Promise.try 可避免傳統 try/catch 結構與 Promise 鏈的混合使用&#xff0c;代碼更簡潔。try-catc…

MySQL-表的約束(上)

表的約束在 MySQL 中&#xff0c;表的約束&#xff08;Constraints&#xff09;用于確保數據庫中數據的完整性和一致性。它們定義了對表中數據的規則和限制&#xff0c;防止無效或不一致的數據被插入、更新或刪除。常見的 MySQL 表約束包括主鍵約束&#xff08;PRIMARY KEY&…

Frida + FART 聯手:解鎖更強大的 Android 脫殼新姿勢

版權歸作者所有&#xff0c;如有轉發&#xff0c;請注明文章出處&#xff1a;https://cyrus-studio.github.io/blog/ Frida FART 聯手能帶來什么提升&#xff1f; 增強 FART 的脫殼能力&#xff1a;解決對抗 FART 的殼、動態加載的 dex 的 dump 和修復&#xff1b; 控制 FART…

TLS/SSL(傳輸層安全協議)

文章目錄一、核心概念二、為什么需要 TLS/SSL&#xff1f;三、工作原理與詳細流程握手步驟詳解&#xff1a;1.ClientHello & ServerHello&#xff1a;2.服務器認證 (Certificate, ServerKeyExchange)&#xff1a;3.客戶端響應 (ClientKeyExchange, Finished)&#xff1a;4.…