本篇文章為大家展示了如何在Vue中引入ActiveX控件,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。
創(chuàng)新互聯(lián)公司專注于定襄企業(yè)網(wǎng)站建設(shè),成都響應(yīng)式網(wǎng)站建設(shè)公司,商城系統(tǒng)網(wǎng)站開發(fā)。定襄網(wǎng)站建設(shè)公司,為定襄等地區(qū)提供建站服務(wù)。全流程按需開發(fā),專業(yè)設(shè)計,全程項目跟蹤,創(chuàng)新互聯(lián)公司專業(yè)和態(tài)度為您提供的服務(wù)
Vue具體輕量級框架、簡單易學(xué)、雙向數(shù)據(jù)綁定、組件化、數(shù)據(jù)和結(jié)構(gòu)的分離、虛擬DOM、運行速度快等優(yōu)勢,Vue中頁面使用的是局部刷新,不用每次跳轉(zhuǎn)頁面都要請求所有數(shù)據(jù)和dom,可以大大提升訪問速度和用戶體驗。
1.如何將ActiveX控件引入Vue,并且在頁面上成功渲染;
2.如何調(diào)用ActiveX已提供的方法;
3.如何監(jiān)聽ActiveX的動作;
(注:以上問題在html的文件里不存在)
我們先來看下第一個問題:如何將ActiveX控件引入Vue,并且在頁面上成功渲染。如何將ActiveX控件渲染到頁面上。根據(jù)客戶開發(fā)人員提供的demo,``拷貝到vue文件中,如圖所示
yarn run dev,運行成功,但是頁面空出很大一塊空白區(qū)域,很顯然,沒有渲染成功。經(jīng)過查詢,ActiveX控件只支持在IE瀏覽器下使用(有點坑)
這算是解決了第一個問題,同樣,小伙伴可以通過動態(tài)生成的方式渲染到頁面上,代碼如下:
let obj = document.createElement('object') obj.setAttribute('id', 'activex') obj.setAttribute('classid', 'clsid:{控件id}') obj.setAttribute('width', 1500) obj.setAttribute('height', 100) var _obj = document.getElementById("要渲染的節(jié)點"); _obj.appendChild(obj)
接下來我們來看第二個問題:如何調(diào)用ActiveX已提供的方法。
渲染是可以了,但是卻無法調(diào)用控件提供的方法。根據(jù)demo:`softphonecontrol.MakeCall(paramsItem)`,無法執(zhí)行,后來又采取嵌入iframe方式(還記得剛剛說的嗎,這個控件在單純的html頁面沒有任何問題,當(dāng)然前提是IE瀏覽器)。最終找到原因,IE的瀏覽器需要做下設(shè)置設(shè)置:設(shè)置-Internet選項-安全/自定義級別-Active控件和插件-對未標(biāo)記為可安全執(zhí)行腳本的ActiveX控件初始化并執(zhí)行腳本,選擇"啟用"或者"提示")
最后一個問題啦:如何監(jiān)聽ActiveX的動作。
根據(jù)demo:
再次提醒一下,這種寫法也只有IE支持,谷歌支持一些簡單的window.reload、onclick之類的方法,中間的alert就是監(jiān)聽后續(xù)需要做的事情。我將這段代碼直接拷貝到vue文件里:
哈哈,成功編譯,但是無法監(jiān)聽到。換個思路,動態(tài)渲染到根節(jié)點呢,像上面提到的:
initRingUpSript:function(){ var ring = document.createElement("script"); ring.setAttribute("for","softphonecontrol"); ring.event="OnLogRingUp(Call_ID,CORP_CODE)"; ring.appendChild(document.createTextNode("phoneListener.ringUp(Call_ID,CORP_CODE)")) document.body.appendChild(ring) },
值得注意的是:此方法會將渲染到頁面上,但是想執(zhí)行Vue的methods的方法的話,還需要在mounted里加上一句代碼: window.phoneListener = this;
上述內(nèi)容就是如何在Vue中引入ActiveX控件,你們學(xué)到知識或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識儲備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。