瀏覽器跨域獲取Lrc歌詞數(shù)據(jù)的解決辦法
更新時間:2007年03月14日 00:00:00 作者:
獲取同一個域的數(shù)據(jù),可以通過XMLHTTP組件或IFRAME來實現(xiàn),不存在跨域訪問的權(quán)限問題,因此比較簡單。
但如果要訪問不同域的數(shù)據(jù)時,由于瀏覽器的安全設(shè)置,XMLHTTP沒有權(quán)限獲取數(shù)據(jù),而IFRAME沒有權(quán)限將獲取的數(shù)據(jù)傳遞給父窗口,似乎沒有其它解決辦法。
頓悟……
網(wǎng)頁內(nèi)引用不同域的腳本并不會提示權(quán)限不足,對了,就是它沒錯!
解決方法找到了,現(xiàn)在來簡單測試一下:
首先在51js.com服務(wù)器上新建一頁面(Test.html)。
[Ctrl+A 全選 注:引入外部Js需再刷新一下頁面才能執(zhí)行]
解釋兩個關(guān)鍵點:
1. lastScript用于存放上次建立的script節(jié)點的ID,在下次要再新建script節(jié)點時,要刪除上次建立的節(jié)點,以免加載的腳本越來越多,占用過多的內(nèi)存。
2. url后面加了一個數(shù)值d是為了防止瀏覽器緩存腳本數(shù)據(jù),在本例中可以不加,但是如果腳本是由服務(wù)器動態(tài)生成的,那最好加上。
然后再建立兩個java script腳本用于測試。
alert.js:
alert('You can see me!');
info.js:
g('myname').value='譜樂視聽';
g('myblog').value='www.aboutplayer.com';
好了,譜樂已把它們放在aboutplayer.com服務(wù)器下,這樣它們和Test.html就不在同一個域內(nèi)了。
用瀏覽器打開Test.html文件。
點擊“Test Alert”,應(yīng)該會彈出對話框顯示You can see me!。
點擊“Get My Info”,應(yīng)該會在文本框中顯示本站的信息。
進(jìn)而,若把Lrc歌詞數(shù)據(jù)放入Js腳本文件中(不是直接更改文件擴(kuò)展名),就可實現(xiàn)跨域獲取Lrc歌詞數(shù)據(jù)了。
但如果要訪問不同域的數(shù)據(jù)時,由于瀏覽器的安全設(shè)置,XMLHTTP沒有權(quán)限獲取數(shù)據(jù),而IFRAME沒有權(quán)限將獲取的數(shù)據(jù)傳遞給父窗口,似乎沒有其它解決辦法。
頓悟……
網(wǎng)頁內(nèi)引用不同域的腳本并不會提示權(quán)限不足,對了,就是它沒錯!
解決方法找到了,現(xiàn)在來簡單測試一下:
首先在51js.com服務(wù)器上新建一頁面(Test.html)。
[Ctrl+A 全選 注:引入外部Js需再刷新一下頁面才能執(zhí)行]
解釋兩個關(guān)鍵點:
1. lastScript用于存放上次建立的script節(jié)點的ID,在下次要再新建script節(jié)點時,要刪除上次建立的節(jié)點,以免加載的腳本越來越多,占用過多的內(nèi)存。
2. url后面加了一個數(shù)值d是為了防止瀏覽器緩存腳本數(shù)據(jù),在本例中可以不加,但是如果腳本是由服務(wù)器動態(tài)生成的,那最好加上。
然后再建立兩個java script腳本用于測試。
alert.js:
alert('You can see me!');
info.js:
g('myname').value='譜樂視聽';
g('myblog').value='www.aboutplayer.com';
好了,譜樂已把它們放在aboutplayer.com服務(wù)器下,這樣它們和Test.html就不在同一個域內(nèi)了。
用瀏覽器打開Test.html文件。
點擊“Test Alert”,應(yīng)該會彈出對話框顯示You can see me!。
點擊“Get My Info”,應(yīng)該會在文本框中顯示本站的信息。
進(jìn)而,若把Lrc歌詞數(shù)據(jù)放入Js腳本文件中(不是直接更改文件擴(kuò)展名),就可實現(xiàn)跨域獲取Lrc歌詞數(shù)據(jù)了。
相關(guān)文章
ajax結(jié)合mysql數(shù)據(jù)庫和smarty實現(xiàn)局部數(shù)據(jù)狀態(tài)的刷新方法
下面小編就為大家分享一篇ajax結(jié)合mysql數(shù)據(jù)庫和smarty實現(xiàn)局部數(shù)據(jù)狀態(tài)的刷新方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2017-12-12ajax設(shè)置async校驗用戶名是否存在的實現(xiàn)方法
下面小編就為大家?guī)硪黄猘jax設(shè)置async校驗用戶名是否存在的實現(xiàn)方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-08-08用ajax實現(xiàn)預(yù)覽鏈接可以看到鏈接的內(nèi)容
用CSS設(shè)置預(yù)覽彈出窗口的樣式、用JavaScript進(jìn)行服務(wù)器請求并且顯示彈出窗口,需要的朋友可以參考下2014-08-08初步了解JavaScript,Ajax,jQuery,并比較三者關(guān)系
這篇文章主要介紹了初步了解JavaScript,Ajax,jQuery,并比較三者關(guān)系的相關(guān)資料,需要的朋友可以參考下2015-10-10關(guān)于Ajax異步請求后臺數(shù)據(jù)進(jìn)行動態(tài)分頁功能
這篇文章主要介紹了Ajax異步請求后臺數(shù)據(jù)進(jìn)行動態(tài)分頁功能,本文通過實例代碼給大家介紹的非常詳細(xì),感興趣的朋友一起看看吧2018-06-06Ajax的jsonp方式跨域獲取數(shù)據(jù)的簡單實例
下面小編就為大家?guī)硪黄狝jax的jsonp方式跨域獲取數(shù)據(jù)的簡單實例。小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-05-05