2024国产成人精品免费视频|日本免费一区二区三区毛片|久久97超碰色中文字幕|亚洲天堂a中文字幕

jQuery與aardio環(huán)境下內(nèi)置js沖突問題的解決

2021-04-28 18:50 欄目:技術(shù)開發(fā) 查看(6953)

首先介紹下aardio是什么?

其官方的表述是:aardio是專用于桌面軟件快速開發(fā)的新一代混合型編程語言 – 具有動態(tài)語言輕便、靈活的特性,而且又可以同時支持靜態(tài)類型開發(fā),象靜態(tài)語言那樣使用。aardio可以直接支持原生DLL,即使是外部EXE進程中的函數(shù),也可以使用一句代碼聲明為普通的aardio函數(shù)對象( 原生call支持 ),aardio支持非常多的標準調(diào)用約定,例如 stdcall,cdecl,thiscall,fastcall,regparm(n) 等調(diào)用約定都可以支持。

這玩意筆者之前還不知道是個啥,直到有一個項目做了一部分丟到我們微構(gòu)網(wǎng)絡(luò)這邊,發(fā)現(xiàn)里面就用到了aardio。aardio在這個項目中的作用就是把網(wǎng)頁與本地硬件系統(tǒng)串聯(lián)起來了,如果在標準瀏覽器里面運行網(wǎng)頁是沒辦法直接調(diào)用硬件資源的。而通過這個aardio作為橋梁可以實現(xiàn)網(wǎng)頁與本地硬件通信,而對于網(wǎng)頁而言aardio這個時候可以理解為一個微型瀏覽器。對于技術(shù)實現(xiàn)方面,跟electron類似,可以用web開發(fā)技術(shù)實現(xiàn)桌面軟件開發(fā)。貌似還是個人開發(fā)者開發(fā)的。

aardio中應該是內(nèi)置了electron,很多人可能會說electron就是非常知名的基于web技術(shù)開發(fā)桌面軟件的工具,為什么這個aardio作者還要多此一舉。我猜想他應該是精簡了其他的一些工具,比如基于原版electron開發(fā)的應用是比較大的,而基于aardio開發(fā)的應用最小幾百kb,如果一個小軟件1-2MB就行了。對于小型軟件可能這種工具就有優(yōu)勢了,這可能就是這個項目原來開發(fā)者為啥選用aardio的原因吧。

但在aardio下跟標準瀏覽器還是有區(qū)別的,目前接觸過的各類前端方法,在瀏覽器里面支持的它基本上也支持,然而它自己其實也擴充了一些js之類的東西。以至于在標準瀏覽器下能運行的js庫可能在aardio下卻運行不了。比如使用經(jīng)典的jquery的網(wǎng)頁在里面運行就會報錯。

QQ截圖20210428183501

應該是其子擴展的一些js庫也使用了跟jquery庫一樣的$符號,其實其他的一些js庫也可能因為這個原因而跟jquery沖突,如知名的社區(qū)BBS軟件自己寫的common.js庫,其他的包括Google Web Toolkit等很多庫其實都用到了$符號。我們可以使用如下代碼實現(xiàn)兼容:

if (typeof module === ‘object’) {window.jQuery = window.$ = module.exports;};

相當于jquery的noConflict()方法。

而且,此代碼應該緊跟jquery庫的引用,否則在它前面引入的其他基于jquery的js庫也可能出現(xiàn)問題,比如如果放在layer.js后面就會報如下錯誤:

Uncaught TypeError: Cannot read property ‘extend’ of undefined

QQ截圖20210428184328

 

與我們的項目經(jīng)理聯(lián)系
掃二維碼與項目經(jīng)理溝通

我們在微信上24小時期待你的聲音

解答本文疑問/技術(shù)咨詢/運營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流

轉(zhuǎn)載請注明出處:jQuery與aardio環(huán)境下內(nèi)置js沖突問題的解決 - 微構(gòu)網(wǎng)絡(luò)
分享:
奈曼旗| 德江县| 海淀区| 山东省| 霍林郭勒市| 清苑县| 浦北县| 怀远县| 山阳县| 峨山| 普安县| 长兴县| 屏边| 芦溪县| 陆丰市| 德庆县| 治多县| 弥渡县| 平陆县| 安国市| 乌兰浩特市| 新乡市| 壶关县| 即墨市| 庆云县| 双江| 恩施市| 丹江口市| 阿图什市| 西乡县| 怀宁县| 西乌| 东源县| 中宁县| 遵义县| 白朗县| 和林格尔县| 大洼县| 苍南县| 桑植县| 涟源市|