MozTW 討論區

各項 Mozilla 相關軟體與技術討論
現在的時間是 2025-08-23, 02:44

所有顯示的時間為 UTC + 8 小時





發表新文章 回覆主題  [ 10 篇文章 ] 
發表人 內容
文章發表於 : 2004-12-17, 12:00 
因為大老闆的要求,在傳送資料回 Web Server 時頁面不可以有空白頁的行為,所以使用了以下的技巧來應付:

代碼:
<iframe name="process" src="image.gif" style="display: none;"></iframe>
<form target="process">
...
</form>

然後當 iframe 內的處理作業結束後,再透過 target 的設定將將 focus 從 iframe 移到 parent 中:
代碼:
<body onload="form1.submit();">
<form name="form1" action="http://other.content.provider.com.tw" target="_top">
...
</form>


今天在測試時突然發現似乎 Firefox 不會將 focus 從 iframe 內移出到 _top 或 _parent 中,這是 Firefox 的 Bug 嗎?還是說有另外的設定方式?

麻煩伙伴們了,謝謝!


回頂端
Mozilla/5.0 (Windows; U; Windows NT 5.0; zh-TW; rv:1.7.5) Gecko/20041119 Firefox/1.0
  
引用回覆  
 文章主題 :
文章發表於 : 2004-12-17, 15:39 
離線
[網站管理員]
頭像

註冊時間: 2002-01-07, 19:28
文章: 3080
來自: 台灣
Ada 寫:
代碼:
<iframe name="process" src="image.gif" style="display: none;"></iframe>

其他先不論,我似乎有種模糊的印象:把 display 設定為 none 之後,其中的元素就不會載入了(就是,根本不會去讀取 image.gif)。或許您得先實驗一下...

_________________
雜工 :: 柏強 / Bob Chao
發問討論請保持禮節,在志工社群裡沒有人有「義務」要為您做些什麼。

* MozTW 志工無限招募中,開放網路世界需要您的一臂之力


回頂端
Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-TW; rv:1.7.5) Gecko/20041119 Firefox/1.0
 個人資料  
引用回覆  
 文章主題 :
文章發表於 : 2004-12-17, 21:03 
離線
頭像

註冊時間: 2004-11-19, 00:07
文章: 482
來自: 閃光彈的家
BobChao 寫:
Ada 寫:
代碼:
<iframe name="process" src="image.gif" style="display: none;"></iframe>

其他先不論,我似乎有種模糊的印象:把 display 設定為 none 之後,其中的元素就不會載入了(就是,根本不會去讀取 image.gif)。或許您得先實驗一下...


我不知bob兄講得對不對,不過若真的是這樣,
那改成 visibility="hidden" 應該就可以了 :)

_________________
我的部落格


回頂端
Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-TW; rv:1.7.5) Gecko/20041119 Firefox/1.0
 個人資料  
引用回覆  
 文章主題 :
文章發表於 : 2004-12-20, 11:07 
Nelson 寫:
BobChao 寫:
Ada 寫:
代碼:
<iframe name="process" src="image.gif" style="display: none;"></iframe>

其他先不論,我似乎有種模糊的印象:把 display 設定為 none 之後,其中的元素就不會載入了(就是,根本不會去讀取 image.gif)。或許您得先實驗一下...


我不知bob兄講得對不對,不過若真的是這樣,
那改成 visibility="hidden" 應該就可以了 :)


剛試了一下... visibility 會造成畫面上方留下一塊空白的 iframe 區... :( 這好像也是當時使用 display 的原因。

其實那個 image.gif 有沒有載入無所謂(原先是沒設定的,但會造成 https 失效才找了張圖塞在那邊 ) ,重點是 focus 的切換不能這樣做的話,那... 在 firefox 上有沒有啥 idea 可以達到類似的效果?(IE 可以這樣玩)

1. 在驗證動作時原畫面不可以改變。
2. 若驗證失敗,則在原畫面上彈出錯誤視窗 ( alert() )。
3. 若驗證成功,則將某些資料以 form post 的方式交付給遠端網站,同時畫面還給遠端網站。


回頂端
Mozilla/5.0 (Windows; U; Windows NT 5.0; zh-TW; rv:1.7.5) Gecko/20041119 Firefox/1.0
  
引用回覆  
 文章主題 :
文章發表於 : 2004-12-20, 16:58 
離線
頭像

註冊時間: 2004-11-30, 10:46
文章: 101
Ada 寫:

1. 在驗證動作時原畫面不可以改變。
2. 若驗證失敗,則在原畫面上彈出錯誤視窗 ( alert() )。
3. 若驗證成功,則將某些資料以 form post 的方式交付給遠端網站,同時畫面還給遠端網站。


原則上, 我的看法是匠子

代碼:
<iframe name="process" style="display: none;"></iframe>
<form target="process" action="XXXXX">
..............
</form>


您的例子中, iframe 中, src 可以不寫, 不用隨便放個東西無所謂

XXXX 的內容,基本上是驗證,驗證錯誤, 跳一個訊息(alert())出來沒什麼大問題, 問題是驗證過後

我建議:驗證歸驗證, 顯示歸顯示, 兩支程式

通常您在驗證過後,該作的都已經作了(存cookies, 寫 session 什麼的) , 作完動作就直接轉址到該頁面去

代碼:
驗證部份.....

沒通過, alert();

通過了

<script>window.parent.location='http://moztw.org';</script>



匠子,應可以達到您的要求

_________________
圖檔圖檔圖檔
我們原本就會的,因遺忘而要重頭學習
我的網誌 http://audi.tw


回頂端
Mozilla/5.0 (Windows; U; Windows NT 5.0; zh-TW; rv:1.7.5) Gecko/20041119 Firefox/1.0
 個人資料  
引用回覆  
 文章主題 :
文章發表於 : 2004-12-21, 14:18 
Carousel 寫:
Ada 寫:

1. 在驗證動作時原畫面不可以改變。
2. 若驗證失敗,則在原畫面上彈出錯誤視窗 ( alert() )。
3. 若驗證成功,則將某些資料以 form post 的方式交付給遠端網站,同時畫面還給遠端網站。


原則上, 我的看法是匠子

代碼:
<iframe name="process" style="display: none;"></iframe>
<form target="process" action="XXXXX">
..............
</form>


您的例子中, iframe 中, src 可以不寫, 不用隨便放個東西無所謂

XXXX 的內容,基本上是驗證,驗證錯誤, 跳一個訊息(alert())出來沒什麼大問題, 問題是驗證過後

我建議:驗證歸驗證, 顯示歸顯示, 兩支程式

通常您在驗證過後,該作的都已經作了(存cookies, 寫 session 什麼的) , 作完動作就直接轉址到該頁面去


很有趣的狀況:iframe 中若 src 不設定的話,IE 會因為含有安全及不安全的網頁內容而破壞 https 的上鎖狀態;但是 Firefox 1.0 卻沒此問題。

另外,可能是我的題意寫的太差,讓你誤會了。

整個機制總共 4 隻程式,一隻由遠端系統做頁面切換(1)到本地認證頁面(2)、本地認證頁面將使用者資訊送入 Server 端驗證(3)、Server端將驗證結果送回遠端系統的接收端(4)。附加要求是 (2) -- > (3) 之間不可以在視窗上看到換頁的動作。

為了達成這個附加要求,所以才會放一個看不見的 iframe 以便 form 可以將 action 的動作設定到 iframe 中,原始的想法是望當 iframe 中的 Server 端程式完成驗證後,再透過 form target=_top 的方式將驗證後的結果用 post 的方式送回原本包含 iframe 的這個視窗中。

可惜,IE 雖然正常,但 Firefox 卻切不回來... :'(
而為了讓 Firefox 用戶也能完成相關的認證程序才會到這邊詢問有無其他的可行方案。

※註:必須在網址列上避免出現 ...?name=...&pwd=... 的字眼,所以用 top.location = ... 的方式應該是不行了... :'(

引言回覆:
代碼:
驗證部份.....

沒通過, alert();

通過了

<script>window.parent.location='http://moztw.org';</script>



匠子,應可以達到您的要求


如前述,控制權要還給遠端系統,所以無法使用 Session 或 Cookies 方式達成。


回頂端
Mozilla/5.0 (Windows; U; Windows NT 5.0; zh-TW; rv:1.7.5) Gecko/20041119 Firefox/1.0
  
引用回覆  
 文章主題 :
文章發表於 : 2004-12-21, 16:34 
離線
[網站管理員]
頭像

註冊時間: 2002-11-04, 13:31
文章: 463
來自: 港都
代碼:
<iframe name="process" src="image.gif" style="display: none;"></iframe>

將 iframe 的 display 設為 none 後,果然就無法動作了,還真是有點詭異,不過還是可以使用 visibility ,再加上 position 來解決,可以參考底下的代碼,而且不會有一空白的區塊,試試看吧
代碼:
<iframe name="process" src="about:blank" style="position: absolute; left: 0px; top: 0px; visibility: hidden;"></iframe>

個人建議:
1. left 與 top 可以設為小於或等於 0,這樣比較不會出現捲動軸
2. 既然 iframe 剛開始沒有要載入什麼資料,那可以將 src 設為 "about:blank" (空白頁面),這樣應該可加快頁面載入時間


回頂端
Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-TW; rv:1.7.5) Gecko/20041119 Firefox/1.0
 個人資料  
引用回覆  
 文章主題 :
文章發表於 : 2004-12-21, 17:33 
離線
頭像

註冊時間: 2004-11-30, 10:46
文章: 101
我測試了一下,這麼作法試試

代碼:
<div id="SSS" style="position:absolute; visibility:hidden;">
<iframe name="process" style="display: inline;" src=blah blah></iframe>
</div>


把 iframe 放到圖層裡, 圖層設為隱藏, 傳到送遠端的部份

代碼:
<form method="post" name="form1" action="http://hostname/login.asp" target="_parent">

.........

</form>

<body onload="document.form1.submit();">

_________________
圖檔圖檔圖檔
我們原本就會的,因遺忘而要重頭學習
我的網誌 http://audi.tw


回頂端
Mozilla/5.0 (Windows; U; Windows NT 5.0; zh-TW; rv:1.7.5) Gecko/20041119 Firefox/1.0
 個人資料  
引用回覆  
 文章主題 :
文章發表於 : 2004-12-22, 04:08 
離線
[網站管理員]
頭像

註冊時間: 2002-01-07, 19:28
文章: 3080
來自: 台灣
Ada 寫:
整個機制總共 4 隻程式,一隻由遠端系統做頁面切換(1)到本地認證頁面(2)、本地認證頁面將使用者資訊送入 Server 端驗證(3)、Server端將驗證結果送回遠端系統的接收端(4)。附加要求是 (2) -- > (3) 之間不可以在視窗上看到換頁的動作。


那個 (2) -> (3) 的部分可以考慮用 HTTPRequest 物件玩玩看..
http://jibbering.com/2002/4/httprequest.html

(有空再玩吧,不好意思都沒解決你的問題只顧插嘴 ^^)

_________________
雜工 :: 柏強 / Bob Chao
發問討論請保持禮節,在志工社群裡沒有人有「義務」要為您做些什麼。

* MozTW 志工無限招募中,開放網路世界需要您的一臂之力


回頂端
Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-TW; rv:1.7.5) Gecko/20041119 Firefox/1.0
 個人資料  
引用回覆  
 文章主題 :
文章發表於 : 2004-12-23, 12:16 
感謝以上各位伙伴的建議,將利用時間逐一修正/測試相關作法。

感謝! :lol:


回頂端
Mozilla/5.0 (Windows; U; Windows NT 5.0; zh-TW; rv:1.7.5) Gecko/20041119 Firefox/1.0
  
引用回覆  
顯示文章 :  排序  
發表新文章 回覆主題  [ 10 篇文章 ] 

所有顯示的時間為 UTC + 8 小時


誰在線上

正在瀏覽這個版面的使用者:沒有註冊會員 和 14 位訪客


不能 在這個版面發表主題
不能 在這個版面回覆主題
不能 在這個版面編輯您的文章
不能 在這個版面刪除您的文章
不能 在這個版面上傳附加檔案

搜尋:
前往 :  
Powered by phpBB® Forum Software © phpBB Group
正體中文語系由 竹貓星球 維護製作
© moztw.org, Mozilla Foundation
MozTW,Mozilla 台灣社群