下面先說說window.showModalDialog的基本用法
showModalDialog() (IE 4 支援)
showModelessDialog() (IE 5 支援)
window.showModalDialog()方法用來建立一個顯示HTML內容的模態對話框。
window.showModelessDialog()方法用來建立一個顯示HTML內容的非模態對話框。
使用方法:
vReturnValue = window.showModalDialog(sURL [, vArguments] [,sFeatures])
vReturnValue = window.showModelessDialog(sURL [, vArments]
參數說明:
sURL--必選參數,類型:字串。用來指定對話方塊要顯示的文件的URL。
vArguments--可選參數,類型:變體。用來向對話框傳遞參數。傳遞的參數類型不限,包括陣列等。對話框透過window.dialogArguments來取得傳遞進來的參數。
sFeatures--可選參數,類型:字串。用來描述對話框的外觀等訊息,可以使用以下的一個或幾個,用分號「;」隔開。
1.dialogHeight :對話框高度,不小於100px,IE4中dialogHeight 和dialogWidth 預設的單位是modem,而IE5中是px,為modal方式見時,用px做單位。
2.dialogWidth: 對話框寬度。
3.dialogLeft: 離螢幕左的距離。
4.dialogTop: 離螢幕上的距離。
5.center: {yes | no | 1 | 0 }:視窗是否居中,預設為yes,但仍可指定高度和寬度。
6.help: {yes | no | 1 | 0 }:是否顯示幫助按鈕,預設為yes。
7.resizable: {yes | no | 1 | 0 } [IE5 ]:是否可改變大小。預設no。
8.status: {yes | no | 1 | 0 } [IE5 ]:是否顯示狀態列。預設為yes[ Modeless]或no[Modal]。
9.scroll:{ yes | no | 1 | 0 | on | off }:指明對話框是否顯示捲軸。預設為yes。
以下幾個屬性是用在HTA的,在一般的網頁中一般不使用。
10.dialogHide:{ yes | no | 1 | 0 | on | off }:在列印或列印預覽時對話方塊是否隱藏。預設為no。
11.edge:{ sunken | raised }:指明對話框的邊框樣式。預設為raised。
12.unadorned:{ yes | no | 1 | 0 | on | off }:預設為no。
參數傳遞:
1.要想對話框傳遞參數,是透過vArguments來進行傳遞的。類型不限制,對於字串類型,最大為4096個字元。也可以傳遞對象,例如:
<script><script>< >var obj = new Object();<BR>obj.name="ttop";<BR>window.showModalDialog("test.htm",obj,"dialogWidth=200px;dialogHeight=100px");<BR>< /script><BR>test.htm<BR><script><BR>var obj = window.dialogArguments<BR>alert("您傳遞的參數為:" obj.name)<BR></script>
test.htm
<script><BR></script>
test.htm
<script><BR> window.returnValue="/";<BR></script>
一、showModalDialog和showModelessDialog有什麼不同?
showModalDialog:被開啟後就會永遠保持輸入焦點。除非對話方塊關閉,否則使用者無法切換到主視窗。類似alert的運作效果。
showModelessDialog:開啟後,使用者可以隨機切換輸入焦點。對主視窗沒有任何影響(最多是被擋住一下而以。:P)
二、怎樣才讓在showModalDialog和showModelessDialog的超連線不彈出新視窗?
在被開啟的網頁裡加上
三、怎樣才刷新showModalDialog和showModelessDialog裡的內容?
在showModalDialog和showModelessDialog裡是不能按F5刷新的,又不能彈出選單。這個只能靠javascript了,以下是相關程式碼:
將filename.htm替換成網頁的名字然後將它放到你打開的網頁裡,按F5就可以刷新了,注意,這個要配合
四、如何用javascript關掉showModalDialog(或showModelessDialog)開啟的視窗。
也要配合
五、showModalDialog和showModelessDialog資料傳遞技巧。
(作者語:本來想用一問一答形式來寫的,但是我想不出這個怎麼問,所以只好這樣了。)
這個東西比較麻煩,我改了好幾次了不是沒辦法說明白(語文水平越來越差了),只好用個例子說明了。
範例:現在需要在一個showModalDialog(或showModelessDialog)裡讀取或設定一個變數var_name
一般的傳遞方式:
window.showModalDialog("filename.htm",var_name)
//傳遞var_name變數
showModalDialog(或showModelessDialog)讀取和設定時:
alert(window.dialogArguments)//讀取var_name變數
window.dialogArguments="oyiboy"//設定var_name變數
這種方式是可以滿足的,但是當你想在操作var_name同時再操作第二個變理var_id時呢?就無法再進行操作了。這就是這種傳遞方式的限制。
以下是我建議使用的傳遞方式:
window.showModalDialog("filename.htm",window)
//不管要操作什麼變量,只傳遞什麼變數,只傳遞直傳遞主視窗的window物件
在showModalDialog(或showModelessDialog)讀取與設定時:
alert(window.dialogArguments.var_name)//讀取var_name變數
window.dialogArguments.var_name="oyiboy"/ /設定var_name變數
同時我也可以操作var_id變數
alert(window.dialogArguments.var_id)//讀取var_id變數
window.dialogArguments.var_id="001"//設定var_id變數
同樣也可以對主視窗的任何物件進行操作,如form物件裡的元素。
window.dialogArguments.form1.index1.value="這是在設定index1元素的值"
在父頁用onClick=""var reVal = window.showModalDialog('changephoto.htm','dialogWidth:500px;dialogHeight:300px;help:no'px;help:no'px;help:no'px;help:no'px;help:no'px;help:no'px;help:no'px; );if (typeof(reVal) != 'undefined') {form.textname.value=reVal;}"" cursor:hand "">點這裡修改圖片
在字視窗'changephoto.htm'中開啟一個框架集,框架集中包含一個asp文件,先將asp的值回傳到changephoto.htm中 再將這個值傳回主頁
changephoto.htm:
function onClose() { window.returnValue = form1.save.value;//也可以window.returnValue改成window.dialogArguments.oblogform.blogimage.value window.close(); }
asp檔:parent.document.form1.save.value ="值或變數";

JavaScript在現實世界中的應用包括前端和後端開發。 1)通過構建TODO列表應用展示前端應用,涉及DOM操作和事件處理。 2)通過Node.js和Express構建RESTfulAPI展示後端應用。

JavaScript在Web開發中的主要用途包括客戶端交互、表單驗證和異步通信。 1)通過DOM操作實現動態內容更新和用戶交互;2)在用戶提交數據前進行客戶端驗證,提高用戶體驗;3)通過AJAX技術實現與服務器的無刷新通信。

理解JavaScript引擎內部工作原理對開發者重要,因為它能幫助編寫更高效的代碼並理解性能瓶頸和優化策略。 1)引擎的工作流程包括解析、編譯和執行三個階段;2)執行過程中,引擎會進行動態優化,如內聯緩存和隱藏類;3)最佳實踐包括避免全局變量、優化循環、使用const和let,以及避免過度使用閉包。

Python更適合初學者,學習曲線平緩,語法簡潔;JavaScript適合前端開發,學習曲線較陡,語法靈活。 1.Python語法直觀,適用於數據科學和後端開發。 2.JavaScript靈活,廣泛用於前端和服務器端編程。

Python和JavaScript在社區、庫和資源方面的對比各有優劣。 1)Python社區友好,適合初學者,但前端開發資源不如JavaScript豐富。 2)Python在數據科學和機器學習庫方面強大,JavaScript則在前端開發庫和框架上更勝一籌。 3)兩者的學習資源都豐富,但Python適合從官方文檔開始,JavaScript則以MDNWebDocs為佳。選擇應基於項目需求和個人興趣。

從C/C 轉向JavaScript需要適應動態類型、垃圾回收和異步編程等特點。 1)C/C 是靜態類型語言,需手動管理內存,而JavaScript是動態類型,垃圾回收自動處理。 2)C/C 需編譯成機器碼,JavaScript則為解釋型語言。 3)JavaScript引入閉包、原型鍊和Promise等概念,增強了靈活性和異步編程能力。

不同JavaScript引擎在解析和執行JavaScript代碼時,效果會有所不同,因為每個引擎的實現原理和優化策略各有差異。 1.詞法分析:將源碼轉換為詞法單元。 2.語法分析:生成抽象語法樹。 3.優化和編譯:通過JIT編譯器生成機器碼。 4.執行:運行機器碼。 V8引擎通過即時編譯和隱藏類優化,SpiderMonkey使用類型推斷系統,導致在相同代碼上的性能表現不同。

JavaScript在現實世界中的應用包括服務器端編程、移動應用開發和物聯網控制:1.通過Node.js實現服務器端編程,適用於高並發請求處理。 2.通過ReactNative進行移動應用開發,支持跨平台部署。 3.通過Johnny-Five庫用於物聯網設備控制,適用於硬件交互。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

SublimeText3漢化版
中文版,非常好用

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

Dreamweaver CS6
視覺化網頁開發工具

mPDF
mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

禪工作室 13.0.1
強大的PHP整合開發環境