[問題] jQuery ready() 的 this.write

看板Web_Design作者 (陸奧鬼一)時間17年前 (2009/04/06 17:51), 編輯推噓0(0019)
留言19則, 4人參與, 最新討論串1/1
寫法一: <html> <head> <script type="text/javascript"> <!-- $(document).ready(function(){ $("body").append(document.createTextNode("abc")); }); //--> </script> </head> <body> Hello!<br /> </body> </html> 寫法二: <html> <head> <script type="text/javascript"> <!-- $(document).ready(function(){ this.write("abc"); }); //--> </script> </head> <body> Hello!<br /> </body> </html> 第一個寫法會看到結果是: Hello! abc 第二個寫法會看到結果是: abc 不過在 FF3 會一直處在 "載入中" 的狀態。(IE6 不會) 如果這時候把原始碼改回寫法一, 進行網頁重整,IE6 跟 FF3 都只會顯示結果二, 既使把 cache 清掉再重整頁面也是一樣。 必須把分頁/視窗關掉,再重開頁面才能顯式結果一。 請問有人知道這是為什麼嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 219.85.63.179

04/06 19:52, , 1F
先弄懂javascript
04/06 19:52, 1F

04/06 22:46, , 2F
推樓上
04/06 22:46, 2F

04/06 22:59, , 3F
我要是有弄懂,就不會問這個啦 ╮(﹀_﹀")╭,不過也感謝
04/06 22:59, 3F

04/06 23:00, , 4F
兩位讓我想到還沒問過G大神,如果跟我不解為什麼的人,請
04/06 23:00, 4F

04/06 23:01, , 5F
看看這篇 http://0rz.tw/acE1o
04/06 23:01, 5F

04/07 02:51, , 6F
哎,懂了之後對 jQuery之省事會更有體會
04/07 02:51, 6F

04/07 02:53, , 7F
自己的程式用了jQuery,後面的人要接手…還真不知怎麼解釋
04/07 02:53, 7F

04/07 11:47, , 8F
的確jQuery是省事不少。不過我還是疑惑從二改回一,頁面
04/07 11:47, 8F

04/07 11:47, , 9F
重整卻沒有反應的問題。
04/07 11:47, 9F

04/07 14:42, , 10F
ready(也就是相對成 onload) 之後的write行為 ,
04/07 14:42, 10F

04/07 14:46, , 11F
會破壞整個頁面的source , 變成你之後write的內容 ,
04/07 14:46, 11F

04/07 14:46, , 12F
所以使用document.write 通常不會在載入完成後才寫...
04/07 14:46, 12F

04/07 14:47, , 13F
至於2改1 重整沒有反應 , 個人傾向於是Browser cache.
04/07 14:47, 13F

04/07 14:47, , 14F
不過一般狀況下來講 , 你不太可能在實際運作這樣改來改去 ,
04/07 14:47, 14F

04/07 14:47, , 15F
應該可以忽略掉吧 ?.?
04/07 14:47, 15F

04/07 18:06, , 16F
實務上的確不會這樣寫。我也想過browser cache的機會很高
04/07 18:06, 16F

04/07 18:08, , 17F
,所以先清cache,再ctrl+F5重整頁面,還會停留在cache的
04/07 18:08, 17F

04/07 18:09, , 18F
畫面,才是我不解的地方。還是ctrl+F5其實不會重新跟主機
04/07 18:09, 18F

04/07 18:10, , 19F
再次做request?
04/07 18:10, 19F
文章代碼(AID): #19sT2i3- (Web_Design)