前言html5新增通訊相關兩個api,跨文件訊息傳輸與web sockets api,
跨文件訊息傳輸功能,可以在不同網頁文件,不同埠(跨域情況下)進行訊息傳遞。
使用web sockets api 可以讓客戶端與伺服器端通過socket埠傳遞資料,這樣便可以使用資料推送技術。
跨文件訊息傳輸在之前我們若想跨域獲取資訊會花很多功夫,現在只要獲取網頁所在視窗物件例項變可以實現互相通訊。
首先要想從其他視窗接受發過來的訊息需要對其視窗物件進行監聽:
window.addevntlistener('message
', function () {}, false)
使用windows物件的postmessage方法向其他視窗發生資訊:
otherwindow.postmessage(message, targetorigin)第乙個引數為傳送文字,也可以是js物件(json)第二個引數為接收訊息物件視窗的url,可以使用萬用字元
主頁面**
傳送資訊
新增監聽
ifram頁面中的**
改變外層高度
新增監聽
更加靈活的運用,該api還可以更厲害的運用,我們可以傳遞函式名什麼的,反正可做很多事情了。web sockets 通訊
web sockets 是html5提供的在web應用程式中客戶端與伺服器端之間進行非http的通訊機制
他實現了http不容易實現的伺服器的資料推送等智慧型通訊技術,因此受到了很高的關注。
使用web sockes api 可以在伺服器端與客戶端建立非http的雙向連線,這個連線是實時的也是永久的,除非顯式關閉
這意味著當伺服器想向客戶端傳送資料時,可以立即將資料推送到客戶瀏覽器中,無需重新建立連線。
只要客戶端有乙個被開啟的socket並且與伺服器建立了連線,伺服器就可以將資料推送到這個socket上,伺服器不再需要輪詢客戶端請求,化被動為主動。
js跨域 ajax跨域 跨域方式(前端)
跨域方式 cors 跨域資源共享 當使用xmlhttprequest傳送請求時,瀏覽器會自動加上乙個請求頭 origin,後端在接受到請求後確定響應後會在response headers中加入乙個屬性 access control allow origin,值就是發起請求的源位址 瀏覽器得到響應會進...
js跨域問題
什麼是跨域?概念 只要協議 網域名稱 埠有任何乙個不同,都被當作是不同的域。1.document.domain 跨子域 這個是範圍最小的乙個。比如a.example.com 中寫了乙個iframe,其中src example.com 但是因為是不同域的就無法寫js獲取iframe中的document...
js跨域問題
報錯資訊 火狐上的錯誤 permission denied to access property document window.parent.document find database name val databasename 谷歌上的錯誤 uncaught securityerror blo...