5 ms·
Show HN: Joconut - Smart PJAX jQuery plugin in 1kb
- cmer 14y agoCould you explain what the benefits are over plain ol' vanilla PJAX? Thanks!
- vdemedes 14y ago1. No need to set up, just script tag 2. 1kb minified and gzipped 3. Auto-load of additional JS and CSS from new pages, if needed
- dagingaa 14y agoMissing some things: - How is this different form the existing PJAX-plugin? - Is there a demo page for this plugin?
- vdemedes 14y agoSorry, no demo page for now. It is different from PJAX in these ways: 1. 1kb minified and gzipped 2. Auto-loading of JS and CSS from new pages, if needed 3. No need to set up and configure
- nchuhoai 14y agoLove to try this out, especially the loading scripts feature. One question though: Is there any setup i need to do, or does it just fit right in with my existing pjax set-up?
- vdemedes 14y agoNope, you just have to include joconut.js in the web page. It will do the rest.
- jasoncartwright 14y agoProblem in FF? https://github.com/vdemedes/joconut/issues/1 https://github.com/vdemedes/joconut/issues/1
- vdemedes 14y agoUpdate pushed, issue fixed.
- prezjordan 14y agoWhat exactly does it do? I'm not sure if I follow completely.
- vdemedes 14y agoIt allows loading pages without refreshing browser window. User will not notice any loading indicator/progress, pages will instantly "replace" each other.
- pygorex 14y ago> User will not notice any loading indicator/progress, pages will instantly "replace" each other Um, no. The pages won't "instantly" load - the browser still has to make a round trip to load the page content. A loading or progress indicator should still be shown letting the user know that this round trip is taking place - especially important if you're on a slow US cell network. If a user is on a slow connection and no visual feedback is given they may end up mashing a link, making the load time worse - or, worse yet, assume the site is broken.
- vdemedes 14y agoAgree, I will add "before" and "after" events to the Joconut, so that developer can listen to them and display progress indicator he likes.
- pygorex 14y agoLoads pages via AJAX and updates the browser history using `pushState`. This is an alternative to the PJAX library: https://github.com/defunkt/jquery-pjax https://github.com/defunkt/jquery-pjax Use either if you have an irrational aversion to page reloads. Snark aside - jQuery Mobile uses a similar technique to cache entire pages in the DOM and for page transitions.
- chrischen 14y agoOr use if your site plays music :).
- aseemk 14y agoGreat idea. I'm having trouble getting it to work ( https://github.com/vdemedes/joconut/issues/5 https://github.com/vdemedes/joconut/issues/5 ), but I'm looking forward to trying it out! One thought came to mind for a potential leaky abstraction: unlike HTML and CSS that can be "undone" and are idempotent, JS has side effects that can't be undone, and isn't always idempotent. Are there JS patterns we need to embrace or avoid to ensure Joconut always "just works"?
- splitrocket 14y agoSeems to break if you have a link without an href. It also seems to blow away any previous listeners places on elements. Any plans to have callbacks for events so that listeners can be re-bound? Aside from that, looks totally sweet. I'm going to use this in a bunch of places.
- vdemedes 14y agoAwful mistake, sorry, completely forgot about that issue. Will be fixed ASAP. However, there is "new" event, which gets fired on every new page. You can listen to it using $.joconut.on, see Readme in GitHub repository at https://github.com/vdemedes/joconut https://github.com/vdemedes/joconut. Thanks, glad you like it!
- gojomo 14y agoI get the benefit of PJAX when you're replacing part of a page. If you're replacing the whole page, how does this beat a real browser load of the exact same data in the same number of hits? (Is it simply that it saves you the effort of setting your caching headers for inline resources properly?)
- vdemedes 14y agoPartially agree here with you.