在父窗口和內部分別加上js語句"xxxcom"在新浪、淘寶等很多頁面都能找到這樣的語句。不過不可以隨便指定,只能向上升級,從bbsxxxcom升級到y(tǒng)yycom肯定會出錯。標準中沒有相關規(guī)定,所以當前的任意瀏覽器遇到hash變化都不會觸發(fā)任何事。是不是很巧的方法?
如何解決跨域問題
跨域問題有多種解決方案。今天我就重復一遍老話,通過幾個應用場景總結一下我所知道的(轉載請注明出處)。第一,我的意思是某某域名在你的控制之下。你負責開發(fā)內部場景。首先,在www.xxx.com嵌入bbs.xxx.com的頁面。如何使用js通信內外(轉載請注明http://blog.csdn.net/出處)一級域名都在xxx.com。這個域名必須在你的控制之下,所以你可以通過同時升級兩個頁面的域名,在父窗口和內部添加js語句。="xxx.com "經過兩個頁面,您可以通過..并進行無障礙JS交流。這樣的說法在新浪、淘寶等很多頁面都可以找到。但是,不能隨便指定,只能向上升級。從bbs.xxx.com升級到y(tǒng)yy.com肯定會出錯。場景二:將www.xxx.com的頁面嵌入www.xxx.com的。兩個域名都在你的控制之下。如何在內外溝通一些數(shù)據(http://blog.csdn.net/lenel轉帖請注明出處)可以通過改變彼此的哈希值來溝通一些數(shù)據。這里的實現(xiàn)基于以下技術要點:1 .父窗口通過改變子窗口的src中的散列值來發(fā)送一些信息。如果只有src的散列部分被改變,子窗口將不會被重新加載。2.子窗口可以重寫。父窗口的href,但注意子窗口不能被讀取,只能重寫。我是href。因此,這是需要你控制的兩個域名,知道什么。當前父窗口的href為,并將其寫入子窗口,以便傳遞..href= "父窗口的已知href "+" # "+hash。這樣,父窗口就不會重載,除非哈希發(fā)生變化。3.以上兩步分別實現(xiàn)了兩個窗口之間的無刷新數(shù)據通知,那么下面就是如何感知數(shù)據變化。標準中沒有相關的規(guī)定,所以目前任何瀏覽器在遇到。hash,這意味著您必須編寫自己的監(jiān)控函數(shù)來監(jiān)控。哈希。方法是通過寫一個monitor函數(shù)或者每隔20-100ms檢查一次hash是否變化,如果變化了就驅動js根據新的數(shù)據做它想做的事情。這個實現(xiàn)的一些分析1。信息通道是雙向的,當然也會兼容單向。如果只有父窗口通知子窗口數(shù)據,只需要子窗口寫哈希監(jiān)控,反之亦然。2.局限性也挺大的,因為這種溝通的前提是雙方都知道對方的。href。如果父窗口有動態(tài)。即查詢參數(shù),很難處理子窗口,并且需要將父窗口的。作為信息傳遞的一部分。3.其他的麻煩會由瀏覽器帶給你。IE以外的瀏覽器遇到哈希變化都會記錄歷史,這樣你在處理來回的時候會很頭疼。場景三:將www.yyy.com的頁面嵌入www.xxx.com的,只有嵌入的yyy.com在你的控制之下。如何在一定程度上溝通內外的真實場景?你希望當你的頁面無法匹配到相關性非常好的點擊付費廣告時,你想要的廣告可以隱藏起來。很明顯,廣告無法將自己隱藏在域名下,那該怎么辦?1.您將獲得一個html頁面。2.你把這個頁面放在你的域名下,并告訴它的位置。3.當你發(fā)現(xiàn)沒有好的廣告時,你會把子窗口重定向到你的頁面,讓你的頁面因為相同的域名而訪問父頁面來隱藏自己。這是一個聰明的方法嗎?場景4:你是一個內容發(fā)布者。如何轉換界面,讓其他域名下的頁面可以從瀏覽器端獲取你的數(shù)據?我們知道ajax的()是一個不刷新服務器數(shù)據的輔助工具,但是它不能跨域名請求數(shù)據。在某些情況下,它會成為一個很大的限制。但是我們不能通過其他方式完成沒有刷新請求的數(shù)據嗎?我們使用Dom方法操作動態(tài)JS腳本請求來做到這一點。//創(chuàng)建一個腳本節(jié)點var=。(' ')//指定腳本srcsrc可以指向任何域名。//注意src不再指向靜態(tài)js,而是指向一個帶有查詢參數(shù)的動態(tài)腳本廣播服務。。src="http://yyy.com/query.php?"+//如果指定,還可以解決另一個大亂碼問題//。="utf-8"http://通過Dom oper將這個新節(jié)點添加到文檔中