我剛剛閱讀並對RightJS有興趣。我一直在使用jQuery作爲我的主要JavaScript框架,但現在我想學習新的東西。不過,我想知道RightJS可以做PJAX。我知道,只要您瞭解PJAX的工作原理,就可以在任何框架中實現它。但是,我希望有人能夠指導我如何建立這個。RightJS上的PJAX
在此先感謝您的幫助。
我剛剛閱讀並對RightJS有興趣。我一直在使用jQuery作爲我的主要JavaScript框架,但現在我想學習新的東西。不過,我想知道RightJS可以做PJAX。我知道,只要您瞭解PJAX的工作原理,就可以在任何框架中實現它。但是,我希望有人能夠指導我如何建立這個。RightJS上的PJAX
在此先感謝您的幫助。
對於大部分PJAX包括:
爲確保它們全部降級優雅,您需要將PJAX監聽器應用於使用JavaScript的內部鏈接,以便鏈接對於禁用JS的用戶都能正常工作。它還應該做一些功能檢查,以確保用戶瀏覽器支持pushstate API等(並且如果不再將所有內容保留爲普通鏈接)。
其實我在考慮看看的東西如何才能實現實現PJAX的原生JS版的自己,如果你有興趣:https://github.com/thybag/PJAX-Standalone/blob/master/pjax-standalone.js
此外,您還可以瀏覽JQuery的PJAX的源位置:https://github.com/defunkt/jquery-pjax/blob/master/jquery.pjax.js
像@Carl一樣,我實現了pushState + AJAX導航的獨立實現,請參閱HTMLDecor。
PJAX的理念是:
HTMLDecor的理念是:
<link>
到現場裝飾+的HTMLDecor.js
腳本。<link>
,獲取網站裝飾並將其與網頁合併。pushState()
來更新URL。換句話說,把所有的網站的裝飾,在一個單獨的文件,並讓HTMLDecor.js
在瀏覽器中的獨特的內容合併。之後,pushState支持免費 - 您不需要配置任何東西。
HTMLDecor.js
在縮小和壓縮時只有6kB,與大多數js框架相比這是很小的。 您可以(應該)將RightJS從常規頁面中刪除(應只包含唯一內容),並且只將其放置在網站裝飾頁面中。
如果您看到HTMLDecor的演示,可能這一切都會更有意義。看看我的blog。如果您查看頁面源代碼,您將看到頁面頂部的廣告,底部的導航欄和聯繫人彈出窗口不是頁面源代碼的一部分。它們全部添加了AJAX。
當您導航到其中一篇博客文章時,使用了pushState + AJAX(如果瀏覽器支持),並且您看到廣告和導航欄未刷新。
還有一篇文章,其中更詳細的是introduces HTMLDecor。
PJAX是膽小鬼,那是官方:)
使用AJAX + History.js(它有掛鉤RightJS)