[問題] 如何點擊超連結後而不讓畫面閃爍一下

看板Ajax作者 (red whale)時間10年前 (2015/05/26 21:57), 編輯推噓6(6027)
留言33則, 8人參與, 最新討論串1/1
就像youtube一樣,請隨便點一個連結,你將會發現畫面在點擊連結之後並不會閃爍一下才 進入下一頁面,而是很平順直接地就進入下一頁面了,但明明網址有改變啊,為什麼它可 以直接就進入下一頁面而不讓畫面閃爍呢? 它也沒用框架呀,但是即使用了框架某部分的 子框頁也會閃爍一下啊,但是youtube卻是很直接地就過去了,它是怎麼辦到的? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 219.80.136.194 ※ 文章網址: https://www.ptt.cc/bbs/Ajax/M.1432648635.A.AD5.html

05/26 23:45, , 1F
PJAX <- google it please
05/26 23:45, 1F

05/27 12:03, , 2F
spa
05/27 12:03, 2F

05/27 13:55, , 3F
history.pushState
05/27 13:55, 3F

05/27 13:57, , 4F
各位,雖然我知道是PJAX做出來的,但是該怎麼做? 各位
05/27 13:57, 4F

05/27 13:58, , 5F
有範例可以提供給我嗎?
05/27 13:58, 5F

05/27 13:59, , 6F
請問jquery的$(document).pjax({...});要怎麼用? 上網
05/27 13:59, 6F

05/27 14:01, , 7F
找好像都找不到耶 因為根本沒有範例可以給我參考
05/27 14:01, 7F

05/27 16:51, , 8F
pjax要有後端配合
05/27 16:51, 8F

05/27 16:51, , 9F
jQuery本身沒有pjax method 不過有套件
05/27 16:51, 9F

05/27 16:51, , 10F

05/27 16:52, , 11F
其實你就把上面大家提的關鍵字去google一定有做法啦
05/27 16:52, 11F

05/27 16:52, , 12F
要注意的是這種東西都是前後端都要做才能辦到的
05/27 16:52, 12F

05/27 16:52, , 13F
不是很簡單的東西 請有點耐心慢慢學
05/27 16:52, 13F

05/28 03:35, , 14F
那2個字就是全部了阿,就是用ajax把內容讀進來目前網頁
05/28 03:35, 14F

05/28 03:36, , 15F
然後用pushState更新網址而已啊,真的不是特別技術
05/28 03:36, 15F

05/28 03:37, , 16F
當然需要些後端code讓網址跟內容能一致就是了
05/28 03:37, 16F

05/28 09:52, , 17F
不是特別技術 但對於會這樣問問題的原po應該還有很多
05/28 09:52, 17F

05/28 09:52, , 18F
科技術要爬 XDD
05/28 09:52, 18F

05/28 10:34, , 19F
嚴格是PJAX也不一定要後端,也是有用 #hash 當網址的作
05/28 10:34, 19F

05/28 10:35, , 20F
法,程式讀到 hash 再用 ajax 跟伺服器撈資料
05/28 10:35, 20F

05/28 10:36, , 21F
更正 不一定要後端 -> 不一定要 pushState
05/28 10:36, 21F

05/28 10:37, , 22F
有時候會看到網址長這樣的 /#!/somehashs 的
05/28 10:37, 22F

05/28 10:37, , 23F
# 後面其實就是hash tag
05/28 10:37, 23F

05/28 14:11, , 24F
hash資料不會被瀏覽器送到後端 這樣做就沒辦法SEO了
05/28 14:11, 24F

05/28 14:12, , 25F
對搜尋引擎而言每頁都長一樣 pushState有做好後端則
05/28 14:12, 25F

05/28 14:12, , 26F
無此問題
05/28 14:12, 26F

05/28 15:38, , 27F
那個基本上是當成不支援pushState的fallback用吧?
05/28 15:38, 27F

05/28 15:49, , 28F
不支援pushState的瀏覽器管他去死 (問題發言)
05/28 15:49, 28F

05/29 12:31, , 29F
#!是為了給SEO爬 不然早期都只有用#
05/29 12:31, 29F

05/29 12:32, , 30F
當然後端能直接吐內容會更理想
05/29 12:32, 30F

06/01 00:37, , 31F
樓上大大,有 #! 的相關資料可提供參考嗎 感謝 :D
06/01 00:37, 31F

06/01 00:51, , 32F
關鍵字 hashbang
06/01 00:51, 32F

06/01 07:17, , 33F
06/01 07:17, 33F
文章代碼(AID): #1LP7kxhL (Ajax)
文章代碼(AID): #1LP7kxhL (Ajax)