作者red0whale (red whale)
看板Ajax
標題[問題] 如何點擊超連結後而不讓畫面閃爍一下
時間Tue May 26 21:57:01 2015
就像youtube一樣,請隨便點一個連結,你將會發現畫面在點擊連結之後並不會閃爍一下才
進入下一頁面,而是很平順直接地就進入下一頁面了,但明明網址有改變啊,為什麼它可
以直接就進入下一頁面而不讓畫面閃爍呢? 它也沒用框架呀,但是即使用了框架某部分的
子框頁也會閃爍一下啊,但是youtube卻是很直接地就過去了,它是怎麼辦到的?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 219.80.136.194
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Ajax/M.1432648635.A.AD5.html
1F:→ mmis1000: PJAX <- google it please 05/26 23:45
2F:→ bbcust: spa 05/27 12:03
3F:推 mrbigmouth: history.pushState 05/27 13:55
4F:→ red0whale: 各位,雖然我知道是PJAX做出來的,但是該怎麼做? 各位 05/27 13:57
5F:→ red0whale: 有範例可以提供給我嗎? 05/27 13:58
6F:→ red0whale: 請問jquery的$(document).pjax({...});要怎麼用? 上網 05/27 13:59
7F:→ red0whale: 找好像都找不到耶 因為根本沒有範例可以給我參考 05/27 14:01
8F:推 mrbigmouth: pjax要有後端配合 05/27 16:51
9F:→ mrbigmouth: jQuery本身沒有pjax method 不過有套件 05/27 16:51
11F:→ mrbigmouth: 其實你就把上面大家提的關鍵字去google一定有做法啦 05/27 16:52
12F:→ mrbigmouth: 要注意的是這種東西都是前後端都要做才能辦到的 05/27 16:52
13F:→ mrbigmouth: 不是很簡單的東西 請有點耐心慢慢學 05/27 16:52
14F:→ mmis1000: 那2個字就是全部了阿,就是用ajax把內容讀進來目前網頁 05/28 03:35
15F:→ mmis1000: 然後用pushState更新網址而已啊,真的不是特別技術 05/28 03:36
16F:→ mmis1000: 當然需要些後端code讓網址跟內容能一致就是了 05/28 03:37
17F:→ mrbigmouth: 不是特別技術 但對於會這樣問問題的原po應該還有很多 05/28 09:52
18F:→ mrbigmouth: 科技術要爬 XDD 05/28 09:52
19F:→ mmis1000: 嚴格是PJAX也不一定要後端,也是有用 #hash 當網址的作 05/28 10:34
20F:→ mmis1000: 法,程式讀到 hash 再用 ajax 跟伺服器撈資料 05/28 10:35
21F:→ mmis1000: 更正 不一定要後端 -> 不一定要 pushState 05/28 10:36
22F:→ mmis1000: 有時候會看到網址長這樣的 /#!/somehashs 的 05/28 10:37
23F:→ mmis1000: # 後面其實就是hash tag 05/28 10:37
24F:→ mrbigmouth: hash資料不會被瀏覽器送到後端 這樣做就沒辦法SEO了 05/28 14:11
25F:→ mrbigmouth: 對搜尋引擎而言每頁都長一樣 pushState有做好後端則 05/28 14:12
26F:→ mrbigmouth: 無此問題 05/28 14:12
27F:→ mmis1000: 那個基本上是當成不支援pushState的fallback用吧? 05/28 15:38
28F:→ mrbigmouth: 不支援pushState的瀏覽器管他去死 (問題發言) 05/28 15:49
29F:推 tomin: #!是為了給SEO爬 不然早期都只有用# 05/29 12:31
30F:→ tomin: 當然後端能直接吐內容會更理想 05/29 12:32
31F:推 lolikung: 樓上大大,有 #! 的相關資料可提供參考嗎 感謝 :D 06/01 00:37
32F:推 s25g5d4: 關鍵字 hashbang 06/01 00:51