首先是乙個正常的上傳頁面 upload.html
id="if"
name=
"if"
src=
"about:blank"
frameborder=
'0'>
這裡有乙個關鍵點是form的target要指向iframe,同時把iframe隱藏起來,這樣上傳的處理結果就會顯示在該iframe裡。action裡的cb(callback)引數表示處理完成後要跳轉的url,因為我們的目標是iframe,所以只會把跳轉的頁面輸出到iframe,而不會讓當前頁面跳轉。
還有一點,callback url要和當前頁面同域。跨域的iframe無法呼叫父頁面的內容。
再來看看deal.php,也就是form的action
<?php
// deal upload file
// and get file id, you can pass other params either
header
('location:'
.$_get
['cb'].
'?file_id=123'
);
這裡可以處理檔案,然後入庫。操作完成後,把檔案的id及其他資訊都放在url裡,最後跳轉到這個url。
最後來看看deal_cd.html,也就是剛剛deal.php跳轉到的url,這個檔案的內容會填充到頁面的iframe裡。
這裡呼叫了父視窗的getiframeval方法,這樣父頁面就獲得了檔案的id。
--eof--
** :
上傳檔案跨域
公司 www.6v.com,伺服器www.up.6v.com 通過跨域從主站傳到伺服器 最後效果 共了三個外掛程式,乙個是ajaxfileupload,乙個是uploadify,還乙個是jcrop 第一步用uploadify,主要是因為要求有進度條,之前部落格中有介紹uploadify,在此不多說。...
Spring檔案上傳和跨域檔案上傳
普通檔案上傳 2 建立servletfileupload和磁碟檔案項工廠 diskfileitemfactory factory new diskfileitemfactory servletfileupload fileupload new servletfileupload factory 3 ...
iframe跨域通訊
簡述 window.postmessage方法,允許跨視窗通訊,不論這兩個視窗是否同源。視窗都可以通過message事件,監聽對方的訊息。語法 otherwindow.postmessage message,targetorigin,transfer message 傳送的內容。targetorgi...