Re: [問題] script放置位置 影響順序以及觸發

看板Ajax作者 (自立而後立人。)時間13年前 (2012/05/13 17:51), 編輯推噓4(400)
留言4則, 2人參與, 最新討論串2/2 (看更多)
※ 引述《timmy852111 (光⊙﹏⊙)》之銘言: : 標題打的有點複雜( ̄(工) ̄) : 有兩個問題想要請問各位前輩<(_ _)> : 1.script擺放位置在網頁執行時候的順序? : 小弟平常的習慣是將所有的javascript語法放在<head>標籤中 : 先載入所引用的東西 然後再開始撰寫我的code : 就我目前的理解 他所執行的順序這樣有誤嗎@@ : 1)先跑head把引用的js檔載入 然後載入我寫的code : 2)把body的語法載入 : 3)開始觸發head的程式 不對,一般來講你 script 放哪就會在哪裡被執行, 你會有這種錯覺大多是因為 ready event , 但是 ready event 本身是在 JS 的一個事件, 他的效果是暫時 hold 住直到頁面讀取才由事件觸發的事件,, 等到之後才執行的機制,也就是「那是你的程式碼定義的」, 而不是瀏覽器得行為。 : 網頁執行的順序是一行一行跑下來的沒錯嗎@@? 基本上扣掉一些會讓流程脫逸的(setTimeout, setInterval , events..), 剩下的都是逐行執行。 : 2.第二個問題~ : 目前在使用jQuery mobile寫網頁有遇到一個問題 跟上面的問題可能有關 : 首先假設我有三個網頁 : a.html b.html c.html : a使用href連結至b b再使用href連結至c : 目前我的測試是在c.html上有script語法執行 : 如果從b用href連結至c的話 c的script好像完全沒有啟動= = : 但是如果我在c上面點重新整理 他又會動了囧 : 另外一個方法 : 我在b上面 把href改成onclick綁function用window.location去連結至c : 但是function是放在body裡面不是head 這樣c又會動 = = : 同理 : 如果我把b的window.location的function放到head裡面 : 這樣b的連結到c的function又壞掉 : 請問為什麼會這樣囧||| : 麻煩各位前輩解惑 : 感謝<(_ _)> jQuery mobile 本身是一個複雜的環境,他有一些 url 跟 ajax 的預先操作, 我在猜可能是他用 ajax 換頁造成動線跟你想的不一致, 你可以把 ajaxEnabled 設成 false 再測測看。 http://0rz.tw/EUimj -- 網頁上拉近距離的幫手 實現 GMail豐富應用的功臣 數也數不清的友善使用者體驗 這就是javascript 歡迎同好到 AJAX 板一同討論。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.25.110.147

05/13 18:01, , 1F
感謝Tony大\@@/ 原來JQM裡面有一堆ajax= =
05/13 18:01, 1F

05/13 18:09, , 2F
推!
05/13 18:09, 2F
※ 編輯: TonyQ 來自: 114.25.110.147 (05/13 19:04)

05/14 09:42, , 3F
可以了\(>﹏<)/ 不過要加在a才會動 真奇怪XDD
05/14 09:42, 3F

05/14 09:48, , 4F
唔 不對 我看錯地方了 拍謝囧 加在b才對XD
05/14 09:48, 4F
文章代碼(AID): #1FhuGXGc (Ajax)
文章代碼(AID): #1FhuGXGc (Ajax)