當前位置:首頁 » 文件管理 » iframe跨域上傳

iframe跨域上傳

發布時間: 2022-07-09 17:52:50

① jquery操作跨域iframe

修改被引入的iframe頁面唄?還有什麼更好的辦法,不打一句代碼就出出現結果碼 開玩笑

② C# 跨域上傳文件

不可以
解決辦法只能是在一個域上做好上傳文件的頁,
然後在另一個域的一個頁上用iframe嵌套這個頁上傳。
兩站間用post或者get傳遞參數

③ 如何使用DWR實現跨域推送注意不是跨域訪問是跨域推送~

1.基於iframe實現跨域
基於iframe實現的跨域要求兩個域具有aa.xx.com,bb.xx.com這種特點,也就是兩個頁面必須屬於一個基礎域(例如都是xxx.com,或是xxx.com.cn),使用同一協議(例如都是 http)和同一埠(例如都是80),這樣在兩個頁面中同時添加document.domain,就可以實現父頁面調用子頁面的函數,代碼如下:
頁面一:
Html代碼

?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

<html>
<head>
<script>
document.domain = "xx.com";
function aa(){
alert("p");
}
</script>
</head>
<body>
<iframe src="http://localhost:8080/CmsUI/2.html" id="i">
</iframe>
<script>
document.getElementById('i').onload = function(){
var d = document.getElementById('i').contentWindow;
d.a();
};
</script>
</body>
</html>

頁面二:
Html代碼
?

1
2
3
4
5
6
7
8
9
10
11
12

<html>
<head>
<script>
document.domain = "xx.com";
function a(){
alert("c");
}
</script>
</head>
<body>
</body>
</html>

這時候父頁面就可以調用子頁面的a函數,實現js跨域訪問
2.基於script標簽實現跨域
script標簽本身就可以訪問其它域的資源,不受瀏覽器同源策略的限制,可以通過在頁面動態創建script標簽,代碼如下:
java代碼

?

1
2
3

var script = document.createElement('script');
script.src = "http://aa.xx.com/js/*.js";
document.body.appendChild(script);

這樣通過動態創建script標簽就可以載入其它域的js文件,然後通過本頁面就可以調用載入後js文件的函數,這樣做的缺陷就是不能載入其它域的文檔,只能是js文件,jsonp便是通過這種方式實現的,jsonp通過向其它域傳入一個callback參數,通過其他域的後台將callback參數值和json串包裝成javascript函數返回,因為是通過script標簽發出的請求,瀏覽器會將返回來的字元串按照javascript進行解析執行,實現了域與域之間的數據傳輸。
jquery中對jsonp的支持也是基於此方案。
3.後台代理方式
這種方式可以解決所有跨域問題,也就是將後台作為代理,每次對其它域的請求轉交給本域的後台,本域的後台通過模擬http請求去訪問其它域,再將返回的結果返回給前台,這樣做的好處是,無論訪問的是文檔,還是js文件都可以實現跨域。

④ 如何使用iframe實現跨域寫入cookie 並且兼容大部分瀏覽器

請首先修改hosts文件來模擬本機跨域
127.0.0.1 localhost
127.0.0.1 b.com
127.0.0.1 a.com
我們的目的:
由a.com登錄,如果登錄成功,就生成a.com的cookie。而對於b.com則無需再次登錄。
遇到的困難:
瀏覽器同源策略限制,即A站點頁面的腳本是無法直接操縱B站點的內容。
試想如果所有第三方網站都可以對taobao.com的首頁任意篡改,那這個社會還有什麼安全性可言呢?
其實瀏覽器的安全策略邏輯很簡單,就是我的地盤我做主,出了我的地盤我做不了主。
解決方案:
a.com根據用戶輸入操作a.com的cookie,b.com根據用戶在a.com得到的輸入數據來操作b.com的cookie。
如何在a.com用戶輸入a.com的用戶數據時同時提交到b.com的驗證頁面呢?
這時候iframe就派上用場了。
相關代碼:
<form method="post" action="<?php print $b?>setcookie.php" target="ifrm" ><fieldset>
<legend>跨域獲取cookie</legend>
<b>用戶名</b>
<p>
<input type="text" id ="username" name="username"/>
</p>
<p><button onclick="login()" type="submit">Login</button></p>
</fieldset>
</form>
...
<iframe id ="ifrm" name="ifrm" style="display:none;" src="<?php print $b?>setcookie.php" />
請注意form表單的相關屬性,b.com/setcookie.php頁面就是驗證a.com用戶的輸入然後生成b.com的cookie,這樣後續訪問b.com無需再次輸入用戶名和密碼。
缺點:
需要先設置跨域站點的cookie然後再來設置本域的cookie;
如果跨域站點請求耗時較長,直接影響本域的操作時間;
另外也需要額外的代碼來處理跨域站點請求失敗後的操作
IE中需要設置接受cookie(隱私),這一點比較不方便。
附件:/Files/1000/xdm.rar
測試方法:
1)按文章開頭修改hosts文件
2)登錄a.com/default.php
3)輸入表單數據
4)點擊a.com/default.php下面的鏈接就可以在b.com/getcookie.php看到b.com的cookie

⑤ 實現Iframe內文件的上傳

我知道你的意思,你是想實現那種所謂的「無刷新上傳文件」吧
呵呵。。。
給你個思路,在頁面內部上傳文件你應該是會的,這個就不用說了,就是加了iframe之後需要在外部得到上傳文件的路徑,然後保存到伺服器,這個可能是你不知道怎麼弄的問題吧,(我是猜的,因為既然你能提出這樣的問題,應該說明不加iframe的本頁上傳你是會的)

你應該這樣做,這個按鈕寫在iframe內部,就用它實現上傳,直接上傳,然後需要在iframe的外部調用它的頁面得到路徑
類似a.html中有個<iframe src="b.aspx"></iframe>
1、把按鈕寫在b.aspx,並且定義一個隱藏域,暫定為<input type="hidden" id="filePath_hidden" runat="server" />
這個隱藏域可以由後台賦值
2、點擊按鈕,用你的C#代碼上傳文件,並且將路徑保存到filePath_hidden裡面,filePath_hidden.value=路徑;
剩下的,我寫起來比較費時間,而且代碼比較多,但是不復雜,相信你一看就知道了,得到b.aspx內部filePath_hidden的值就好辦了
具體看到http://58.51.84.58:81裡面去,注冊一個會員,然後進入會員中心,修改資料那裡,我就是這么實現的,內部有個iframe,指向上傳文件的文件,在外部如何保存數據的,在會員中心那個頁面你可以查看源代碼,看看,如果將iframe內部的數據返回給外部。得到iframe內部的數據,在外部就可以像平時那樣保存數據了,
聲明,這個網站只是我給別的公司做的一個企業網站,因為我在這里寫的比較多,你可以直接去參考,不是做廣告,那個公司跟我們公司沒有任何關系

既然你說用asp.net回答,那麼我就告訴你,那隻有一種辦法,就是在內部上傳之後用session保存(Cookie也可以)
session["路徑"]=路徑;
之後在外部頁面調用這個session值就可以了,

⑥ ajax如何實現跨域上傳文件

ajax跨域實現方法之跨子域實現ajax:
要求:實現hello.com的頁面 非同步請求 blog.hello.com下的頁面

實現方法:藉助iframe,通過設置iframe的src屬性,嵌入blog.hello.com下的一個頁面,比如AjaxProxy.jsp,然後由該頁面去請求Ajax
AjaxProxy請求完畢後,通過parent對象把返回的數據回傳給hello.com的主頁面。因此,真正的非同步請求還是發生在blog.hello.com的域名下
注意:通過這種方法實現的跨子域ajax請求,需要在hello.com的請求頁面以及AjaxProxy.jsp頁面中設置同樣的域名,也就是document.domain = "coolkissbh.com";

注意:關於設置domain的問題,如果是跨全域,使用上面方法時候,firefox下會提示
Illegal document.domain value" code: "1009的錯誤,因此跨全域只能使用第二種方法處理返回的數據:AjaxProxy.jsp將ajax返回的數據保存到一個全局變數中,hello.com通過setInterval定時去判斷iframe的頁面是否載入完成,如果載入完成,則獲取AjaxProxy.jsp的全局變數值。然後再做其它處理。

⑦ 什麼是跨域,跨域的實現方式有哪些

  • 跨域:


    瀏覽器對於javascript的同源策略的限制,例如a.cn下面的js不能調用b.cn中的js,對象或數據(因為a.cn和b.cn是不同域),所以跨域就出現了.


  • 實現方式:

基於script標簽實現跨域

基於script標簽實現跨域

基於jquery跨域

通過iframe來跨子域

⑧ 父窗口嵌入iframe實現跨域,iframe里可以用localstorage嗎

框架的嵌套是通過頁面實現的,而不是兩個IFRAME標簽嵌套寫在一起就能實現的.你需要outerIframe所載入的頁面中插入IFRAME標簽來嵌入另一個頁面.

⑨ iframe 下不同域下的ajax請求跨域

不久前..我的同事遇到了這個問題..然後我想要一個小的方式來解決。

事實上,一些網上JS跨域解決方案。那麼我們不注意..但後來發現..方法和網上的方法幾乎是類似的..

關於JS跨域許可權確實遇到問題..

1如果主域名下的相同的不同子域可以指定document.domain的就可以了。的document.domain =相同的域

。使用方法臻2是iframe中,有時不使用Ajax是最好的..雖然我平時寫的愛情與阿賈克斯阿賈克斯..但往往解決不了問題......有人說,之後,W3C已經給出了使用AJAX的跨域解決方案......但在這個階段它仍然是老實點

關於前兩種方法好說話。

我們使用的是...把一個iframe ...的頁面,然後在iframe的src =「 XXXX「目標=」_blank「> http://192.168.3.44/actionSubmit.aspcallFunction=xxxx 的」或URI的一部分,您可以指定任何數據的識別..

然後起床此頁面上3.44這個參數..然後確定相應的參數值?是合法的..可以

執行相應的程序..
希望能夠幫助您^ _ ^我不回答很長一段時間。問題給我。哦! !

熱點內容
oracle存儲過程集合 發布:2025-01-18 08:42:39 瀏覽:884
洋蔥數學緩存 發布:2025-01-18 08:38:36 瀏覽:918
電影的文件夾都是 發布:2025-01-18 08:21:49 瀏覽:835
post提交php 發布:2025-01-18 08:21:42 瀏覽:460
如何禁止寫入文件夾 發布:2025-01-18 08:21:04 瀏覽:363
360雲盤等待上傳 發布:2025-01-18 08:21:03 瀏覽:796
安卓手機怎麼設置壁紙 發布:2025-01-18 08:20:23 瀏覽:319
如何關閉密碼鎖 發布:2025-01-18 08:18:51 瀏覽:859
我的電腦ftp打不開 發布:2025-01-18 08:18:05 瀏覽:513
手機如何與伺服器端連接的 發布:2025-01-18 08:16:49 瀏覽:46