Ajax 板


LINE

自從dropbox改版成可以drap&drop之後 一直有個疑問 當我登入之後 網址列會變成 www.dropbox.com/home 點開Photos資料夾 網址列變成 www.dropbox.com/home/Photos 按瀏覽器的上一頁還會回到home 看起來並不是整個頁面刷新 而只是用ajax 刷新中間的 ol 這怎麼辦到的...? 我唯一想的到的方法是在server端寫一個module來擷取網址 可是這樣整個頁面都會重整說 請教一下 這種功能到底怎麼作? 謝謝 --



※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 116.228.152.106
1F:推 knuckles:HTML5 History API 05/17 14:49
2F:→ Luos:這樣IE7 8 怎麼打的開=3= 05/17 14:56
3F:→ xiphoid:不支援就普通的讀取新網頁 05/17 14:58
4F:→ Luos:我手邊居然沒有IE7能試... 05/17 15:04
5F:→ xiphoid:呃 剛剛測試 ie8用hash當fallback 05/17 15:05
6F:→ Luos:我在網址列直接輸入www.dropbox.com/home/Photos也行 05/17 15:09
7F:→ Luos:這不是History API 作的吧 05/17 15:10
8F:→ xiphoid:html5 history api只是能不靠hash hack改網址不重讀網頁 05/17 15:17
9F:→ xiphoid:跟有上/下一頁紀錄 網頁內容怎麼產生不是它的業務 05/17 15:17
10F:→ Luos:html5demos.com/history 也能做到上下頁說 05/17 15:23
11F:推 mesak:HTML5 history.pushState 05/17 20:57
12F:推 Canboo:TML5 History無誤,請研究完再來質疑 05/17 22:02
13F:→ Luos:研究中 希望能生出來 05/17 22:45
14F:推 tomap41017:可以考慮pjax 05/17 23:22
16F:→ Luos:Pjax看來不錯 來玩玩看 05/18 12:10
17F:→ Luos:Popstate 之後怎麼history.state是null.... 05/18 12:11
18F:→ xiphoid:推pjax http://goo.gl/OZyOy 自己弄的靜態網頁+pjax 05/18 13:04
19F:→ xiphoid:js http://goo.gl/74Cty 05/18 13:05
20F:→ Luos:pjax 沒有fallback... 改完History.js 好了 05/18 14:53
21F:→ Luos:眼花了 pjax 有fallback 05/18 17:20
22F:→ Luos:我輸了 能不能推薦pjax的教學或sample... 05/21 12:00
23F:→ Luos:xiphoid大的網站到底怎麼運作的? 完全看不出來Orz 05/21 12:03
24F:→ Luos:找到的範例都只有一行 $('a').pjax('#main');為什麼能夠運行? 05/21 12:06
25F:→ xiphoid:那個網站就一般靜態網頁而已 上面選單是Chosen快速搜尋用 05/21 12:48
26F:→ xiphoid:沒用pjax的情況就很平常的一堆html連來連去 05/21 12:48
27F:→ xiphoid:用pjax後變成由ajax讀html改內容+history api改網址 05/21 12:49
28F:→ xiphoid:$('a').pjax('#main')是把網頁的'a'綁click事件 05/21 12:49
29F:→ xiphoid:做上上個推文的行為 #main是放新網頁內容的dom 05/21 12:49
30F:→ xiphoid:自己網站內部連結以/開頭 所以用$('#main a[href^="/"]') 05/21 12:50
31F:→ xiphoid:不過剛發現pjax似乎會自己判斷 cross origin就跳過 05/21 12:50
32F:→ Luos:謝謝xiphoid大詳細的解說 我想問的是 第一個網頁裡哪裡有pjax 05/21 13:09
33F:→ Luos:是在requireJS裡? 我查的requireJS跟pjax 沒關係說=3= 05/21 13:11
34F:→ Luos:$('a').pjax('#main') 讓我無法理解的部分是 a沒有preventDef 05/21 13:12
35F:→ Luos:ault 不是會開啟網頁嗎 至少我自己做的會=3= 05/21 13:13
36F:→ Luos:再來就是 哪裡定義URL? pjax會直接讀取a的href? 05/21 13:14
37F:→ Luos:git上面寫得option裡面有url的定義 url寫在option裡面雖然成 05/21 13:16
38F:→ Luos:功 但是所有的a都連到同一個網頁也沒意義就是了=w= 05/21 13:17
39F:→ Luos:謝謝xiphoid大願意回文教我 <(_ _)> 05/21 13:19
40F:→ xiphoid:不客氣._. requirejs跟這個無關 只是用來把js縮成一個檔案 05/21 13:35
41F:→ xiphoid:js檔請看這個 http://goo.gl/74Cty 右邊 05/21 13:35
42F:→ xiphoid:pjax url定義: 74行 http://goo.gl/C4iGn 05/21 13:36
43F:→ xiphoid:preventDefault: 83行 05/21 13:36
44F:→ Luos:我剛好也在看pjax的jquery 為什麼google這麼久都沒想到要去 05/21 13:38
45F:→ Luos:檔案咧=3= data-pjax這個attr一定要嗎? 05/21 13:40
46F:→ xiphoid:有 source code 有真相 05/21 13:40
47F:→ xiphoid:不用data-pjax就要用.pjax('#container')定義內容填哪 05/21 13:42
48F:→ Luos:這就是說pjax是到href去把html撈出來 這跟我\要做的有點微妙 05/21 13:58
49F:→ Luos:的不同 我是要從php把html撈出來 再把href裡的url push到網址 05/21 14:00
50F:→ xiphoid:可以直接$.pjax({url: '/authors', container: '#main'}) 05/21 14:04
51F:→ xiphoid:不用透過<a> 05/21 14:04
52F:→ Luos:列 還有個疑問 沒設定fragment不就會把整個html load回來嗎? 05/21 14:04
53F:→ Luos:對吼... 只不過這樣就不能用href來存假網址了 05/21 14:08
54F:→ xiphoid:"pjax on the server side" 能從header盼斷是不是pjax 05/21 14:15
55F:→ Luos:那就是要在server判斷 如果是pjax就只傳部分的html? 05/21 14:20
56F:→ Luos:這樣要跟三方的網頁兼容就很困難了 05/21 14:20
57F:→ Luos:$.pjax 的話沒有href 怎麼pushState...? 05/21 14:21
58F:→ xiphoid:直接傳新網址給$.pjax *url: '/authors'* 05/21 14:23
59F:→ Luos:/authors 會被push到網址列? 05/21 14:35
60F:→ xiphoid:對 05/21 14:48
61F:推 tomap41017:pjax小弟已經愛上了XDDD 05/21 14:51
62F:→ Luos:有沒有辦法push我指定的一段網址列上去? 05/21 14:54
63F:→ Luos:打個比方 就像dropbox一樣 我點開Photos的folder 05/21 14:56
64F:→ Luos:網址會加上/Home/Photos 但是實際上我是到別的php去把html lo 05/21 14:57
65F:→ Luos:od回來? 05/21 14:57
66F:→ xiphoid:試完 http://test.barepants.com/pjax/a.html 但失敗 05/21 16:32
67F:→ xiphoid:上下一頁內容不會更新 而且重新整理也破功 放棄... 05/21 16:33
68F:→ Luos:我已經在改他的source code了 不過上下頁兩曾就會失敗 05/21 16:41
69F:→ Luos:重新整理 不會改.... 05/21 16:41
70F:→ xiphoid:重新整理沒辦法 網站上就是沒這個檔案或route 05/21 16:48
71F:→ xiphoid:或許放棄pushState改用hash當history吧 05/21 16:48
72F:→ Luos:這是個好想法 還是很好奇dropbox怎麼辦到的~ 05/21 16:56
73F:→ xiphoid:有什麼原因不能讓pjax直接讀網址? 05/21 17:08
74F:→ Luos:其實比較重要的是希望能像db一樣能用上一頁來回到上一層 05/21 17:12
75F:→ Luos:網址列變成只是路徑 實際上檔案放置是我自己定義的 05/21 17:14
76F:→ xiphoid:網址不需要直接對應檔案 /index.php/abc 05/21 18:20
77F:→ xiphoid:/index.php/abc/def 這些網址都能用index.php來處理 05/21 18:20
78F:→ xiphoid:(用$_SERVER['REQUEST_URI']判斷) 05/21 18:20
79F:→ xiphoid:配合mod_rewrite能再把網址的index.php去掉 05/21 18:20
80F:→ xiphoid:pjax.heroku.com/ 也不是真的有dinosaurs.html 05/21 18:25
81F:→ xiphoid:aliens.html 而是http://goo.gl/RTTwQ 05/21 18:26
82F:→ Luos:Heruku那個不是用pjax嗎? 05/21 23:39
83F:→ Luos:RequestURI原來可以這樣用 明天試試 05/21 23:42
84F:→ Luos:說起來amazon ec2 跟openstack 好像也是類似的方法說 05/21 23:44
85F:→ xiphoid:heroku那個是pjax 但實際上沒有那些html檔案 05/22 09:13
86F:→ xiphoid:多數網站網址應該都不是對應檔案 web framework都有 05/22 09:13
87F:→ xiphoid:router可以用或者說只能這樣用 05/22 09:13
88F:→ Luos:不太想改server端的部分... 05/22 09:47
89F:→ Luos:這種做法有沒有麼關鍵字=3= 我想查查.. 05/22 10:07
90F:→ xiphoid:Front Controller 05/22 10:15
91F:→ Luos:我倒是看到很多用explode來弄.... 05/22 10:21







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:Gossiping站內搜尋

TOP