[問題] 外部javascript想知道頁面是否載入完成

看板Ajax作者 (小淺)時間13年前 (2012/05/01 21:37), 編輯推噓2(205)
留言7則, 4人參與, 最新討論串1/2 (看更多)
請問各位大大,我參考google +1跟facebook Like按鈕的做法, 有一個頁面,動態引入一個外部js, 該外部js想讀取頁面上的一個元素,並對這個元素做一些操作, 該頁面html如下:(test.html) -------------------------------------- <html> <head> <script type="text/javascript"> (function() { var newObj = document.createElement('script'); newObj.type = 'text/javascript'; newObj.charset = 'UTF-8'; newObj.async = true; newObj.src = 'extjs.js'; var oldObj = document.getElementsByTagName('script')[0]; oldObj.parentNode.insertBefore(newObj, oldObj); })(); </script> </head> <body> <div id="Div1"></div> </body> </html> 外部js如下:(extjs.js) -------------------------------------- (function() { var _Div1 = document.getElementById('Div1'); alert(_Div1); //Firefox, IE, Chrome可以抓到, Opera則顯示null })(); 有問題的地方在 alert(_Div1) 那裡, Firefox, IE, Chrome都可以抓到這個div元素,但是Opera抓不到(顯示null), 我想請問要怎麼在extjs.js知道test.html的DOM已經都載入完成了? 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.34.70.99

05/01 22:54, , 1F
Ext.onReady ?
05/01 22:54, 1F
to tfshnike: 請問這個要放在哪邊呢?

05/01 23:02, , 2F
外部JS前面是不是少了$,載入DOM後執行的寫法有
05/01 23:02, 2F

05/01 23:03, , 3F
$(function(){});或$(document).ready(function(){});
05/01 23:03, 3F
to arthas1107: 這個頁面沒有用jquery,因為我想全部在extjs.js處理 例如置放Google +1按鈕的code是 (function() { var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true; po.src = 'https://apis.google.com/js/plusone.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s); })(); 然後把<g:plusone size="medium"></g:plusone>放在任何一個地方都可以 ※ 編輯: On1earth 來自: 114.34.70.99 (05/01 23:18)

05/02 11:52, , 4F
你沒注意facebook都是把script擺在<body>的最後 所以只要
05/02 11:52, 4F

05/02 11:52, , 5F
把整個<script>擺到<body>的最後面 <div>之後 就解決了吧
05/02 11:52, 5F

05/02 12:37, , 6F
把domready lib例如https://github.com/ded/domready
05/02 12:37, 6F

05/02 12:37, , 7F
複製進extjs.js直接使用
05/02 12:37, 7F
to xiphoid大: 我想把ded domready放進我的extjs.js,用匿名函數包起來,不想讓外面呼叫它, function() { //這裡是ded domready的code })(); 可是我在外面還是可以呼叫的到它,請問應該要怎麼做呢? 這幾天都在研究它,但是看不懂!function (name, definition){...}這一段的意思 ※ 編輯: On1earth 來自: 61.231.222.213 (05/07 01:17)
文章代碼(AID): #1Fd-SGKN (Ajax)
文章代碼(AID): #1Fd-SGKN (Ajax)