看板 Ajax 關於我們 聯絡資訊
我在寫一個網站的Greasemonkey腳本 作用在一個貼圖討論區 (http://www.komica.org/) 網頁是一個框架頁 框架的部份長這樣: <frameset cols="120,*"> <frame src="/bbsmenu.htm" name="menu"> <frame src="/mainmenu.htm" name="cont"> </frameset> 框架頁分為左右兩邊 左邊是選單 有很多看板的連結 點了連結後會在右邊開啟該看板 這是GM程式碼(只截取和問題有關的部份) contFrame = document.getElementsByTagName('FRAME')[1]; contFrame.addEventListener("load", do_something, false); function do_something(){ //在這裡對看板作某些事 } 程式的目的是希望每次框架右半的網頁載入時執行do_something函數 從左邊的選單點看板連結時要執行do_something 在看板內點下一頁的連結而更新網頁內容時也要執行 總之只要是顯示在框架右半邊的網頁 都要讓do_something函數作用過一次 但是現在的寫法 只有在框架頁本身載入時會執行do_something函數一次 之後框架右半的網頁變動時 都不會再次呼叫do_something函數 請問應該要如何修改 才能達到上述的要求呢? -- 起初,他們捉共產黨員 ,﹑ ,我不說話,因為我不是共產黨員 後來,他們捉▕工會會員 _<> ,﹑ ,我不說話,因為我沒有參加工會 後來,他們捉▕天主教徒<█『 ,﹑ ,我還是不說話,因為我是新教徒 後來,他們捉▕ 猶太人 /\ 」」 ===,我不說話,因為我是日耳曼人 ψQSWEET** 最後, 等到他們來捉我時 ▏ ▏ 已經沒有人能為我說話了... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.134.219.121
mesak:我記得糟糕島,不是K島,他的左右兩邊網域好像不同,所以 06/16 21:18
mesak:要做到兩邊都有動作有點難~~ 06/16 21:18
Kenqr:剛才測試了一下,好像是因為框架內的網頁和框架頁在不同網域 06/16 23:31
Kenqr:所以才沒辦法正常運作. 這是javascript本身的限制嗎 06/16 23:31
Kenqr:也就是說,想從框架頁對框架內不同網域的網頁作動作, 06/16 23:31
Kenqr:理論上是辦不到的? 或者還有其他方法可以作到嗎? 06/16 23:31
TonyQ:基於安全性的理由,跨網域的執行是辦不到的。 06/16 23:49
shyangs:XHR抓框架內容,重繪整個網頁,用CSS排版替代框架。 06/17 00:03
TonyQ:xhr也無法抓取外部網域網站的內容。 06/17 00:35
shyangs:GM_xmlhttpRequest 可跨域 06/17 00:38
TonyQ:原來是講gm內建的成員,我以為是講js的。 sorry. 06/17 00:42
Kenqr:謝謝各位的回答 我再來研究看看XHR 06/17 02:54