※ 引述《Kenqr (夏天的微笑)》之銘言:
: 剩1個warning無法修好 是因為iframe根本沒有onload事件可以用
: (http://www.w3.org/TR/html401/present/frames.html#edef-IFRAME)
: 既然在iframe中使用onload本來就是錯誤的語法
→
,
→
,
我沒有實際測試,但這應該很容易改寫成標準的作法。
iframe 的 onload 實際上沒有意義,因為是 iframe 裏的 document 被 load,
所以當然 onload 只會寫在 body 裏。
但在原 po 的例子裏,如果事件的觸發寫在 iframe 裏的 document,
是沒辦法改到原網頁裏的物件高度。
所以正確的寫法是,在原網頁的 body 裏寫 onload,
觸發一個 javascript function,
然後 iframe 給一個 id 名稱,
在 function 裏用 document.getElementById 的方式抓到 iframe 後,
再去改 height。
目前想到的是這樣。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 123.193.74.131
※ 編輯: Hemiola 來自: 123.193.74.131 (07/21 16:26)
※ 編輯: Hemiola 來自: 123.193.74.131 (07/21 16:27)
→
07/21 18:33, , 1F
07/21 18:33, 1F
→
07/21 18:35, , 2F
07/21 18:35, 2F
→
07/21 18:36, , 3F
07/21 18:36, 3F
→
07/21 20:20, , 4F
07/21 20:20, 4F
用 document.defaultView.parent.document.getElementById 就可以了。
實作成果在此:
http://hemiolapei.free.fr/temp/test.html
不知道是不是你要的樣子。
而我發現 Kenqr 做的雖然是用 <ifram onload...
但是也有同樣的效果啊。
※ 編輯: Hemiola 來自: 123.193.74.131 (07/21 22:33)
→
07/21 22:49, , 5F
07/21 22:49, 5F
→
07/22 08:28, , 6F
07/22 08:28, 6F
→
07/22 11:40, , 7F
07/22 11:40, 7F
→
07/22 11:41, , 8F
07/22 11:41, 8F
→
07/22 11:45, , 9F
07/22 11:45, 9F
→
07/22 11:48, , 10F
07/22 11:48, 10F
→
07/22 11:49, , 11F
07/22 11:49, 11F
→
07/22 11:51, , 12F
07/22 11:51, 12F
Firefox 和 Opera 才是對的。
因為 scrollHeight 不包含物件的 margin,
照你的程式碼,你設 iframe 的 height 等於 頁框 body 的 scrollHeight,
就會漏掉頁框 body 的 margin,所以會看不到底下那條 hr。
※ 編輯: Hemiola 來自: 123.193.74.131 (07/22 12:10)
討論串 (同標題文章)
完整討論串 (本文為第 2 之 4 篇):