作者Kenqr (夏天的微笑)
看板Ajax
標題[ js ] frame的onload事件的問題
時間Tue Jun 15 17:25:58 2010
我在寫一個網站的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