[问题] 如何点击超连结后而不让画面闪烁一下

楼主: red0whale (red whale)   2015-05-26 21:57:01
就像youtube一样,请随便点一个连结,你将会发现画面在点击连结之后并不会闪烁一下才
进入下一页面,而是很平顺直接地就进入下一页面了,但明明网址有改变啊,为什么它可
以直接就进入下一页面而不让画面闪烁呢? 它也没用框架呀,但是即使用了框架某部分的
子框页也会闪烁一下啊,但是youtube却是很直接地就过去了,它是怎么办到的?
作者: mmis1000 (秋月恋枫)   2015-05-26 23:45:00
PJAX <- google it please
作者: bbcust (bbcust)   2015-05-27 12:03:00
spa
作者: mrbigmouth (大嘴先生)   2015-05-27 13:55:00
history.pushState
楼主: red0whale (red whale)   2015-05-27 13:57:00
各位,虽然我知道是PJAX做出来的,但是该怎么做? 各位有范例可以提供给我吗?请问jquery的$(document).pjax({...});要怎么用? 上网找好像都找不到耶 因为根本没有范例可以给我参考
作者: mrbigmouth (大嘴先生)   2015-05-27 16:51:00
pjax要有后端配合jQuery本身没有pjax method 不过有套件https://github.com/defunkt/jquery-pjax其实你就把上面大家提的关键字去google一定有做法啦要注意的是这种东西都是前后端都要做才能办到的不是很简单的东西 请有点耐心慢慢学
作者: mmis1000 (秋月恋枫)   2015-05-28 03:35:00
那2个字就是全部了阿,就是用ajax把内容读进来目前网页然后用pushState更新网址而已啊,真的不是特别技术当然需要些后端code让网址跟内容能一致就是了
作者: mrbigmouth (大嘴先生)   2015-05-28 09:52:00
不是特别技术 但对于会这样问问题的原po应该还有很多科技术要爬 XDD
作者: mmis1000 (秋月恋枫)   2015-05-28 10:34:00
严格是PJAX也不一定要后端,也是有用 #hash 当网址的作法,程式读到 hash 再用 ajax 跟服务器捞资料更正 不一定要后端 -> 不一定要 pushState有时候会看到网址长这样的 /#!/somehashs 的# 后面其实就是hash tag
作者: mrbigmouth (大嘴先生)   2015-05-28 14:11:00
hash资料不会被浏览器送到后端 这样做就没办法SEO了对搜寻引擎而言每页都长一样 pushState有做好后端则无此问题
作者: mmis1000 (秋月恋枫)   2015-05-28 15:38:00
那个基本上是当成不支援pushState的fallback用吧?
作者: mrbigmouth (大嘴先生)   2015-05-28 15:49:00
不支援pushState的浏览器管他去死 (问题发言)
作者: tomin (Schrödinger's cat)   2015-05-29 12:31:00
#!是为了给SEO爬 不然早期都只有用#当然后端能直接吐内容会更理想
作者: lolikung (干么查我?)   2015-06-01 00:37:00
楼上大大,有 #! 的相关资料可提供参考吗 感谢 :D
作者: s25g5d4 (function(){})()   2015-06-01 00:51:00
关键字 hashbang
作者: eight0 (欸XD)   2015-06-01 07:17:00

Links booklink

Contact Us: admin [ a t ] ucptt.com