作者mesak (米沙)
看板Ajax
標題[問題] iframe jquery function 呼叫
時間Tue Jul 27 01:41:53 2010
請問一下
A 網頁中 插入 IFRAME ID="F" SRC="B.HTM"
DIV ID="TEST"
B 網頁中
function ff(){
alert('ff');
}
在FF中好像沒辦法從 A網頁呼叫 ff()
var oIf = document.getElementById('F'),
win = oIf.contentWindow;
在A網頁寫
$('#TEST').click(function(){
win.ff()
})
會出現 win.ff is undefined
但是我寫在B 裡面
$("#TEST", parent.document.body).click(function(){
ff()
})
這樣又可以很正常運作.....有人可以說明一下為什麼嗎?
只限定 FIREFOX 因為我是在寫 GREASEMONKEY.....
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 112.104.135.168
1F:推 s25g5d4:當你寫在B裡時呼叫的ff()是在B裡定義的所以找的到 07/27 22:54
2F:→ s25g5d4:但是你寫在A裡時卻沒有相應的函數可供呼叫 (iframe與原網 07/27 22:55
3F:→ s25g5d4:頁的js是分開的 但是可以透過幾個方法呼叫就是了 07/27 22:55
4F:推 s25g5d4:可以試試window.frames[0] 07/27 22:57
6F:→ mesak:樓上提供的連結是操作 DOM 我指的是執行 FUNCTION 喔 07/28 00:55
7F:→ mesak:A無法呼叫 B裡面的 FUNCTION 嗎? 07/28 00:56
8F:推 shadowjohn:$("#F")[0].contentWindow.document.alert('a'); 07/28 08:09
9F:推 shadowjohn:win.document.ff(); 07/28 09:46
12F:推 shadowjohn:再看看吧~我剛才又小改了一下 14:09 07/28 14:09
13F:→ mesak:感謝,只是 搞不好用在 外掛上不能用了....想問一下 07/28 14:32
14F:→ mesak:當 CLICK事件成立 IFRAME內的函式還沒讀取完畢,這樣CLICK 07/28 14:33
15F:→ mesak:還有辦法運作嗎? 07/28 14:33
16F:推 shadowjohn:那你可以用 iframe 的 onload 07/28 14:37
17F:→ shadowjohn:<iframe onloal="........" ....> 07/28 14:37
18F:→ shadowjohn:像是onload="$('#btn').show();" 這時你的按鈕才出現:) 07/28 14:39
19F:→ mesak:嗯 過兩天試試看...現在在改 另一之外掛 Orz 謝謝shadowjohn 07/28 14:48