| 开发者 | maheshmthorat |
|---|---|
| 更新时间 | 2026年10月30日 18:03 |
| PHP版本: | 7.4 及以上 |
| WordPress版本: | 7.1 |
| 版权: | GPLv3 |
| 版权网址: | 版权信息 |
mailto:/tel:, new tabs, Ctrl/⌘-clicks, in-page anchors, the dashboard or the login page.data-pagepulse attributes or the JavaScript API.fetch()/XMLHttpRequest is opt-in.[pagepulse_skeleton] shortcode and a Skeleton placeholder block: text, image, card, avatar, table, product, list and custom shapes, with wrapped content revealed when loading finishes. Optional shimmer placeholders for images.aria-busy, buttons aria-busy and aria-disabled, progress bars role="progressbar" with real values only.wp_ajax_load_start, wp_ajax_load_complete, wp_ajax_load_error, wp_ajax_load_cancel in 2.x; History.js state changes in 1.x), keeps a single overlay (AJAX Loading's own indicator and 1.x page dimming are not shown at the same time) and respects PagePulse's link exclusions. Neither plugin requires the other. Turn the integration off under Loading triggers → Page navigation.
For developers
window.PagePulse (no dependencies):
const h = PagePulse.show({ type: 'dots', text: 'Saving…' }); h.hide(); PagePulse.element.show('.product-container'); PagePulse.element.hide('.product-container'); PagePulse.button.show('#save', { text: 'Saving…' }); PagePulse.progress.set(60); // measured progress only PagePulse.track(fetch(url), { target: '#results' });
Loaders are reference counted (finishing one operation never hides a loader another operation still needs) and every loader times out on its own. Data attributes (data-pagepulse, data-pagepulse-target…), DOM events (pagepulse:start/pagepulse:end in, pagepulse:show/hide/timeout… out) and PHP hooks (pagepulse_should_load, pagepulse_frontend_config, pagepulse_animations, pagepulse_presets, pagepulse_overlay_markup…) are documented on the Developers tab and in DEVELOPERS.md.
Privacy
PagePulse loads no remote files, sets no cookies and sends nothing to third parties. "Only on the first page of a visit" uses the browser's sessionStorage. Debug mode records PagePulse's own JavaScript errors for administrators only.
pagepulse folder to /wp-content/plugins/.No. Loaders change how waiting feels, not how long it takes. PagePulse is built not to add to the wait: without jQuery, with CSS-only animations and a deferred script, the recommended setup added about 2 ms of script time and 17.6 KB of compressed files to a test page (PagePulse 0.1 added jQuery: 35.9 KB and 14 ms). The page-load overlay hides as soon as the page is ready unless you set a minimum display time.
Set Hide when to "The page is ready", lower Maximum display under Loading triggers → Initial page loading, or turn the initial loader off and keep navigation feedback only.
Every loader has a maximum duration, so it cannot stay forever. To investigate: Tools → Safe mode (only the navigation progress bar and the API run), turn on debug mode (Advanced) and check the browser console and Tools → Recent errors, run Tools → Diagnostics. Emergency switches: add ?pagepulse-off to a URL, or define( 'PAGEPULSE_DISABLE', true ); in wp-config.php.
Yes. Device rules and "once per visit" are decided in the browser. Clear the cache after changing settings. If your optimisation plugin delays JavaScript, exclude "pagepulse"; the early snippet already carries data-no-optimize, data-no-defer and data-cfasync="false".
The overlay is then printed in the footer and a plain background covers the page until it is ready. Diagnostics shows which case applies.
Yes. Default texts ("Loading…", "Sending…") follow the site language. Custom texts (message, loader text, button texts) are registered with WPML String Translation and Polylang (Languages → Translations, group "PagePulse") and shown in the visitor's language.
Advanced → Exclusions (URL patterns), the pagepulse_should_load filter, the class no-pagepulse or data-pagepulse="false" on links and forms.
Yes. On upgrade the 0.1 settings (on/off, effect, background colour and opacity) are migrated and the site keeps looking as before: the coloured overlay without a loader inside, shown until the page has loaded, on link navigation and on form submission. A copy of the original 0.1 settings is kept.
Install 0.1 again: it reads the same option, which PagePulse 1.0 keeps up to date (on/off, effect, colour, opacity). Settings that only exist in 1.0 are kept in a backup and restored when you upgrade again.
window.PagePulse), DOM events, data attributes and PHP hooks.unload/beforeunload handlers (back/forward cache works).<head>; settings were saved without a capability check.