今天先看一下百度統(tǒng)計(jì)公布的最新桌面操作系統(tǒng)市場(chǎng)份額: Win 10 市場(chǎng)份額 48%,一年增加 10% Win7 市場(chǎng)份額 34%,一年下降 9%,快要涼了 Win8 市場(chǎng)份額 5%,已經(jīng)涼涼了 macOS 市場(chǎng)份額 4% WinXP 市場(chǎng)份額 2% 已經(jīng)徹底涼了 Linux 市場(chǎng)份額 1% 市場(chǎng)份額低于 5% 的我們就先不管了,現(xiàn)在開(kāi)發(fā)桌面軟件一般考慮 Win10 以及正在崛起的 Win11 就夠了,Win7 短時(shí)間內(nèi)可以考慮做一下兼容。 雖然 Win11 已經(jīng)自帶了誘人的 WebView2 ,并且 WebView2也支持 Win7, Win10。但這東西就像飛機(jī),飛起來(lái)是很爽,也沒(méi)必要搞一點(diǎn)小東西就開(kāi)飛機(jī)去搞。 Windows 自帶的 IE 控件也是很不錯(cuò)的,所有系統(tǒng)都自帶,簡(jiǎn)單輕量好用,雖然新的操作系統(tǒng)已經(jīng)移除 IE 瀏覽器,但是微軟已聲明新系統(tǒng)不會(huì)移除 IE 控件。 Win10,Win11 自帶的 IE控件版本都是 IE11,Win7 自帶的 IE 最低是 IE8,但 Win7 會(huì)通過(guò)自動(dòng)更新升級(jí)到 IE11,所以基于 IE控件只要考慮 IE11就可以了。 兼容到 Win7 / IE8 也是一個(gè)可選項(xiàng),像jQuery/DataTables 支持到 XP/IE6 - 說(shuō)實(shí)話在目前已經(jīng)沒(méi)有太大意義了。 aardio 中的 web.form 就是對(duì) IE控件的封裝。使用 web.form 非常簡(jiǎn)單,來(lái)個(gè)例子: import win.ui; /*DSG{{*/ var winform = win.form(text='web.form 測(cè)試') winform.add( button={cls='button';text='調(diào)用網(wǎng)頁(yè)對(duì)象';left=214;top=227;right=518;bottom=305;z=1} ) /*}}*/
import web.form; var wb = web.form(winform);
wb.external = { clickButton = function(){ winform.msgbox('在網(wǎng)頁(yè)里調(diào)用了 aardio 函數(shù)') } }
wb.html = /** <head><meta charset='utf-8'> </head><body> <button onclick='javascript:external.clickButton()' id='button'> 來(lái)個(gè)按鈕調(diào)用 aardio 函數(shù):external.clickButton()</button> **/
winform.button.oncommand = function(id,event){ wb.getEle('button').click() }
winform.show(); win.loopMessage(); 上面就是一個(gè)完整的程序了,按 F5 運(yùn)行,運(yùn)行效果: aardio 與網(wǎng)頁(yè)的交互非常簡(jiǎn)單,網(wǎng)頁(yè)里可以直接調(diào)用 wb.external 里定義的 aardio 函數(shù),在 aardio 里也可以直接訪問(wèn)網(wǎng)頁(yè)里的對(duì)象,在 web.form 里網(wǎng)頁(yè)里的對(duì)象就是 COM 對(duì)象 —— 在 aardio 里可以直接使用。 注意 web.form 可以綁定任何控件窗口,上面的界面中只有左側(cè)是網(wǎng)頁(yè),右側(cè)是普通 edit 控件。打開(kāi)新版「 aardio 范例 / Web界面 / web.form /jQuery /Select2 」也可以查看下面的源碼:
|
|