[問題] iframe jquery function 呼叫

看板Ajax作者 (米沙)時間14年前 (2010/07/27 01:41), 編輯推噓8(8011)
留言19則, 3人參與, 最新討論串1/1
請問一下 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

07/27 22:54, , 1F
當你寫在B裡時呼叫的ff()是在B裡定義的所以找的到
07/27 22:54, 1F

07/27 22:55, , 2F
但是你寫在A裡時卻沒有相應的函數可供呼叫 (iframe與原網
07/27 22:55, 2F

07/27 22:55, , 3F
頁的js是分開的 但是可以透過幾個方法呼叫就是了
07/27 22:55, 3F

07/27 22:57, , 4F
可以試試window.frames[0]
07/27 22:57, 4F

07/28 00:55, , 6F
樓上提供的連結是操作 DOM 我指的是執行 FUNCTION 喔
07/28 00:55, 6F

07/28 00:56, , 7F
A無法呼叫 B裡面的 FUNCTION 嗎?
07/28 00:56, 7F

07/28 08:09, , 8F
$("#F")[0].contentWindow.document.alert('a');
07/28 08:09, 8F

07/28 09:46, , 9F
win.document.ff();
07/28 09:46, 9F

07/28 10:36, , 10F
07/28 10:36, 10F

07/28 13:55, , 11F

07/28 14:09, , 12F
再看看吧~我剛才又小改了一下 14:09
07/28 14:09, 12F

07/28 14:32, , 13F
感謝,只是 搞不好用在 外掛上不能用了....想問一下
07/28 14:32, 13F

07/28 14:33, , 14F
當 CLICK事件成立 IFRAME內的函式還沒讀取完畢,這樣CLICK
07/28 14:33, 14F

07/28 14:33, , 15F
還有辦法運作嗎?
07/28 14:33, 15F

07/28 14:37, , 16F
那你可以用 iframe 的 onload
07/28 14:37, 16F

07/28 14:37, , 17F
<iframe onloal="........" ....>
07/28 14:37, 17F

07/28 14:39, , 18F
像是onload="$('#btn').show();" 這時你的按鈕才出現:)
07/28 14:39, 18F

07/28 14:48, , 19F
嗯 過兩天試試看...現在在改 另一之外掛 Orz 謝謝shadowjohn
07/28 14:48, 19F
文章代碼(AID): #1CJSZazU (Ajax)