Skip to content

Commit

Permalink
don't write '#/' to url on first slide, remove history api feature de…
Browse files Browse the repository at this point in the history
…tection
  • Loading branch information
hakimel committed Jun 2, 2020
1 parent 7ebade7 commit c910747
Show file tree
Hide file tree
Showing 4 changed files with 16 additions and 10 deletions.
2 changes: 1 addition & 1 deletion dist/reveal.esm.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dist/reveal.js

Large diffs are not rendered by default.

18 changes: 13 additions & 5 deletions js/controllers/location.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
import { supportsHistoryAPI } from '../utils/device.js'

/**
* Reads and writes the URL based on reveal.js' current state.
*/
Expand Down Expand Up @@ -121,15 +119,24 @@ export default class Location {
this.writeURLTimeout = setTimeout( this.writeURL, delay );
}
else if( currentSlide ) {

let hash = this.getHash();

// If we're configured to push to history OR the history
// API is not avaialble.
if( config.history || supportsHistoryAPI === false ) {
window.location.hash = this.getHash();
if( config.history ) {
window.location.hash = hash;
}
// If we're configured to reflect the current slide in the
// URL without pushing to history.
else if( config.hash ) {
window.history.replaceState( null, null, '#' + this.getHash() );
// If the hash is empty, don't add it to the URL
if( hash === '/' ) {
window.history.replaceState( null, null, window.location.pathname + window.location.search );
}
else {
window.history.replaceState( null, null, '#' + hash );
}
}
// UPDATE: The below nuking of all hash changes breaks
// anchors on pages where reveal.js is running. Removed
Expand All @@ -141,6 +148,7 @@ export default class Location {
// else {
// window.history.replaceState( null, null, window.location.pathname + window.location.search );
// }

}

}
Expand Down
4 changes: 1 addition & 3 deletions js/utils/device.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,4 @@ export const isAndroid = /android/gi.test( UA );
// up slides. Zoom produces crisper results but has a lot of
// xbrowser quirks so we only use it in whitelisted browsers.
export const supportsZoom = 'zoom' in testElement.style && !isMobile &&
( isChrome || /Version\/[\d\.]+.*Safari/.test( UA ) );

export const supportsHistoryAPI = typeof window.history.replaceState === 'function' && !/PhantomJS/.test( UA );
( isChrome || /Version\/[\d\.]+.*Safari/.test( UA ) );

0 comments on commit c910747

Please sign in to comment.