在IE中使用Python作為開發指令碼

來源:互聯網
上載者:User
 

在IE中使用Python作為開發指令碼

目前IE支援的用戶端指令碼語言常見的有VBScript和JavaScript,這兩種指令碼語言在操作頁面元素方面基本能滿足一般應用的需要,可通過和COM整合來獲得擴充功能。

本文提供一種將Python作為IE用戶端指令碼語言的方法,利用Python的簡潔和可擴充性使web應用在用戶端可實現更好的互動。也可用Python內建的網路功能,更容易地實現AJAX的功能。

根據在IE中使用javascript的文法,可以猜到在IE中使用Python的文法是:

<script language=”python”>

#Python代碼

</script>

當IE執行這段代碼時,需要調用Python的解譯器來執行<script language=”python”></script>之間的代碼,因此要讓IE識別Python代碼,就需要告訴IE在何處尋找Python解譯器。

這個功能在Python for Windows Extension中已經實現,該擴充除用戶端指令碼支援外,還包括伺服器端指令碼、COM、Windows GUI支援。

首先從Python的老家www.python.org下載一個Python安裝包,按後安裝到本地硬碟,假設Python安裝在c:/python24,並將該路徑加到環境變數PATH中。詳細的安裝參見Python手冊。

然後到http://starship.python.net/crew/mhammond/ 下載一個Python for Windows Extension,它是一個安裝包,安裝時要求指定Python的安裝目錄,安裝包會將一些檔案安裝到c:/Python24/lib/site-packages目錄下。

切換到命令列模式,到目錄C:/Python24/Lib/site-packages/win32comext/axscript/client目錄下,運行 python pyscript.py和python pyscript_rexec.py,將Python windows Script註冊到windows中,使IE能識別HTML代碼中的python指令碼。

下面是一個在IE中運行python的代碼,要運行它,只要儲存在一個htm檔案中,然後用IE開啟,點擊OK按鈕,將顯示3次對話方塊。

<HTML>

<BODY>

<H1>Embedded code demo: Python</H1>

<SCRIPT Language="Python">

def show():

for i in range(3):

alert("Python in IE ===> %d" % i)

</SCRIPT>

<form name="fm">

<input name="b1" type="button" value="OK" onclick="show()">

</form>

</BODY></HTML>

因為Python 的文法要求,def show()必需從第一列開始,前面不能有空格或TAB來縮排代碼。

在IE中運行Python指令碼雖可獲得Python的強大功能,但要求IE所在機器必須安裝Python解譯器和Python for Windows Extension。這限制了在一般Web應用上使用的可能性。但可以在以下的模式中使用。

用戶端用IE作為運行容器,Python解譯器和windows extension作為系統一部分安裝在用戶端,甚至有本機資料庫,對資料庫的操作在Python指令碼中完成,需要和伺服器端互動時,再用Python指令碼來完成和伺服器端的資料交換。這種模式整合了C/S和B/S的優點,用戶端不需要安裝專門的用戶端軟體,另外不需要時時串連到伺服器,不需要管理session等狀態資訊,可離線完成業務後再串連伺服器發送或擷取資料。

相對於AJAX中用XMLHTTP來實現網路功能,Python能提供更好更強的功能,並且編碼更簡潔。

參考資料

Mark Hammond , Andy Robinson   Python Programming on Win32 , 2000  O'Reilly


相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.