1. 程式人生 > >通過Iframe跨域獲取其它站的資料 或獲取某頁面及資料

通過Iframe跨域獲取其它站的資料 或獲取某頁面及資料

www.wobiji.net 我筆記

通過Iframe在A網站頁面內嵌入空白頁面的方式,跨域獲取B網站的資料返回給A網站!

以下程式碼只是為演示該方法具體是如何操作的,實際的意義並不大。

其實這個方法還可以解決很多方面的跨域操作,以下兩點為我工作中遇到的情況!

比如A系統中開啟B系統頁面的時候,獲取B系統頁面高度,A系統中可以動態設定視窗的高度

還有A系統中開啟B系統頁面的時候,B系統頁面進行一系列操作,操作成功後需關閉A系統視窗,就可以在操作成功後再在B系統中嵌入A系統的blank.html頁面,blank.html頁面開啟的時候,動態關閉A系統的視窗!

下面為大家講下是如何實現該方法的

1.在A系統下新增名稱為blank.html的空白頁面,注意不需要任何內容,因為只需要在裡面新增js程式碼即可!

2.然後我們在A系統的Home/Index頁面下嵌入ifrme路徑指向B系統的Home/Index頁面,並且加上自定義引數url,url就為剛才新增的A系統的空白頁面,iframe記得新增name和id屬性,方便接下來的操作!

3.這裡會請求B系統的HomeController控制器下的Index動作,接收到傳遞過來的url引數,通過ViewBag.BlankUrl=url返回到頁面,頁面載入的時候動態獲取頁面的高度,然後在頁面的div元素中再次新增name=iframeBlank的iframe元素並且地址指向ViewBag.BlankUrl也就是A系統的空白頁面,並通過"#"字元分割需要的引數傳遞過去,符號可以自定義!

我的筆記

4.A系統通過Iframe嵌入B系統Home/Index頁面的同時時,B系統又同時在頁面嵌入A系統的blank.html頁面以及B系統傳遞回來的資料,由於iframe的特殊屬性需通過以下方式獲取返回的資料  var data= window.parent.parent.frames["myframe"].frames["iframeBlank"].location.hash

相關推薦

通過Iframe獲取其它資料 獲取頁面資料

www.wobiji.net 我筆記 通過Iframe在A網站頁面內嵌入空白頁面的方式,跨域獲取B網站的資料返回給A網站! 以下程式碼只是為演示該方法具體是如何操作的,實際的意義並不大。 其實這個方法還可以解決很多方面的跨域操作,以下兩點為我工作中遇到的情況! 比如A

Geoserver通過ajax訪問服務資料的方法(含使用者名稱密碼認證的配置方式)

Goeserver資料有兩種,一種需進行使用者密碼的許可權認證,一種無須使用者密碼。對於網上跨域訪問Geoserver資料的種種方法,對這2種資料並非通用。 筆者將Geoserver官方下載的Geoserver.war包部署到linux伺服器,通過前端 ajax 訪問geoserver資料失敗,其中包含跨域問

iframe傳輸資料(一);子頁面訪問主框架DOM元素;

如果使用同域的方法,瀏覽器判斷A.html 與 B.html 不同域,會有錯誤提示。 Uncaught SecurityError: Blocked a frame with origin “http://localhost” from accessing a

iframe 調用父級方法的方案

nbsp head java math tex append 跨域 undefined utf-8 一、如果高層域名相同的話,可以通過document.domain來實現跨域訪問 例如: 父級域名:localhost:8080 子級域名:localhost:9090 那麽可

用document.activeElement解決iframe問題

監聽 app frame 使用 doc win user interval layer iframe裏面一般都會使用別人的URL,沒有很多交互,使用document.activeElement可以對iframe進行事件監聽。使用下面的類進行測試: var IframeO

Geoserver通過ajax訪問服務數據的方法(含用戶名密碼認證的配置方式)

methods -name sevlet ajax war包部署 ins 了解 thrown b- Goeserver數據有兩種,一種需進行用戶密碼的權限認證,一種無須用戶密碼。對於網上跨域訪問Geoserver數據的種種方法,對這2種數據並非通用。 筆者將Geoserve

iframe 訪問session/cookie丟失問題解決方法

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

Javascript 使用postMessage對iframe傳值通訊

實現目標:兩個網站頁面實現跨域相互通訊 當前例子依賴於 jQuery 3.0 父頁面程式碼:www.a.com/a.html <iframe id="myIframe" src="http://www.b.com/b.html"></iframe> <script&g

iframe通訊

簡述: window.postMessage方法,允許跨視窗通訊,不論這兩個視窗是否同源。 視窗都可以通過message事件,監聽對方的訊息。 語法: otherWindow.postMessage(message, targetOrigin, [transfer]); messag

如何通過CORS請求實現聊天小AI

聊天機器人github地址:https://github.com/Neekky/chatting-robot CORS跨域解決方案 CORS(跨源資源共享)通過新增一系列 HTTP 頭,讓伺服器能宣告哪些來源可以通過瀏覽器訪問該伺服器上的資源。 對於 GET 以外的 HTTP

iFrame解決辦法

按情境分 1、不跨域時 2、主域相同、子域不同時 3、主域不同 不跨域時 訪問iframe: contentWindow 訪問父級:parent 訪問頂級:top  a.html  <html xmlns="http://www.w3.org/1999/xhtm

關於iFrame特性總計和iFrame解決辦法

1、iframe 定義和用法 iframe 元素會建立包含另外一個文件的內聯框架(即行內框架)。 HTML 與 XHTML 之間的差異 在 HTML 4.1 Strict DTD 和 XHTML 1.0 Strict DTD 中,不支援 iframe 元素。 提示和註釋: 提示:您可以把需要的文字放

搞毛線!測試iframe自適應失敗了!

本來還以為可以成功推出互推聯盟 iframe 雙模式的,自己網站測試成功了,最後發現別人呼叫是不能自適應的,只有我自己的網站可以自適應,鬱悶!!! 下面引用部分是下午辛苦整理的文章,最後發現失敗了,一下就洩氣了,剛釋出的文章不得不先改成草稿狀態,回家又繼續查了半天資料,發現如果要這個 iframe 跨域還能

iframe通訊的通用解決方案

一、背景 在這個Web頁面越來越豐富的時代,頁面通過iframe嵌入其他的頁面也越來越常見。但由於瀏覽器同源策略的限制,不同域之間屬性和操作是無法直接互動的,所以在這個時候,開發者多多少少需要一些方案來突破這些限制。跨域問題涉及的地方也很多,如文件之間的訊息

Iframe:Uncaught DOMException: Blocked a frame with origin "null" from accessing a cross-origin

使用Iframe時出現了這個錯誤,網上找了半天,都只是說將file://這個改為localhost....然並卵 後來想到,會不會是本地伺服器問題,就通過vscode下了一個live server, 然後右擊,執行,搞定 如果不是用來測試的話,應該使用Nginx伺服器

JS(ajaxiframe)解決方法原理詳解

js跨域是指通過js在不同的域之間進行資料傳輸或通訊,比如用ajax向一個不同的域請求資料,或者通過js獲取頁面中不同域的框架中(iframe)的資料。只要協議、域名、埠有任何一個不同,都被當作是不同的域。 要解決跨域的問題,我們可以使用以下幾種方法: 1、

IE下iframesession和cookie失效問題的解決方案

問題來源: 何為跨域跨域session/cookie? 也就是第三方session/cookie。第一方session/cookie指的是訪客當前訪問的網站給訪客的瀏覽器設定的seesion/cookie, 會被儲存在訪客的計算機上。第三方session/cookie

java Web 開發 IE 中 IFRAME session 失效 p3p 解決

網站頁面中 用 Iframe 巢狀站點 被巢狀的網站 session 會失效 後臺獲取不到 sessionID 解決方案: 在JSP頁面中 頭部新增 紅色部分的程式碼 就OK了 <%@ page language="java" contentType="text/

解決前端問題方法之一配置Apache反向代理拿介面資料

反向代理的原理圖解 由於跨域阻止了我們資料請求,所以轉變思路,我們不傳送跨域請求了,直接請求當前域名中的內容 伺服器在接收到資料請求之後將資料請求轉發給介面伺服器 介面伺服器先將資料返回給web伺服器 web伺服器再將介面伺服器返回的資料轉發給瀏覽器 從stud

不同域名/二級域名之間的iframe操作

1、什麼是跨域:  說白點就是post、get的url不是你當前的網站,域名不同。例如在aaa.com/a.html裡面,表單的提交action是bbb.com/b.html。不僅如此,www.aaa.com和aaa.com之間也屬於跨域,因為www.aaa.com是二級域