optionally put the fragment in the URL
This commit is contained in:
parent
a0c013606e
commit
260f287926
|
@ -231,6 +231,10 @@ Reveal.initialize({
|
||||||
// Turns fragments on and off globally
|
// Turns fragments on and off globally
|
||||||
fragments: true,
|
fragments: true,
|
||||||
|
|
||||||
|
// Flags whether to include the current fragment in the URL,
|
||||||
|
// so that reloading brings you to the same fragment position
|
||||||
|
fragmentInURL: false,
|
||||||
|
|
||||||
// Flags if the presentation is running in an embedded mode,
|
// Flags if the presentation is running in an embedded mode,
|
||||||
// i.e. contained within a limited portion of the screen
|
// i.e. contained within a limited portion of the screen
|
||||||
embedded: false,
|
embedded: false,
|
||||||
|
|
32
js/reveal.js
32
js/reveal.js
|
@ -102,6 +102,10 @@
|
||||||
// Turns fragments on and off globally
|
// Turns fragments on and off globally
|
||||||
fragments: true,
|
fragments: true,
|
||||||
|
|
||||||
|
// Flags whether to include the current fragment in the URL,
|
||||||
|
// so that reloading brings you to the same fragment position
|
||||||
|
fragmentInURL: false,
|
||||||
|
|
||||||
// Flags if the presentation is running in an embedded mode,
|
// Flags if the presentation is running in an embedded mode,
|
||||||
// i.e. contained within a limited portion of the screen
|
// i.e. contained within a limited portion of the screen
|
||||||
embedded: false,
|
embedded: false,
|
||||||
|
@ -3709,10 +3713,14 @@
|
||||||
else {
|
else {
|
||||||
// Read the index components of the hash
|
// Read the index components of the hash
|
||||||
var h = parseInt( bits[0], 10 ) || 0,
|
var h = parseInt( bits[0], 10 ) || 0,
|
||||||
v = parseInt( bits[1], 10 ) || 0;
|
v = parseInt( bits[1], 10 ) || 0,
|
||||||
|
f;
|
||||||
|
if( config.fragmentInURL ) {
|
||||||
|
f = parseInt( bits[2], 10 ) || undefined;
|
||||||
|
}
|
||||||
|
|
||||||
if( h !== indexh || v !== indexv ) {
|
if( h !== indexh || v !== indexv || f !== undefined ) {
|
||||||
slide( h, v );
|
slide( h, v, f );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3745,14 +3753,21 @@
|
||||||
id = id.replace( /[^a-zA-Z0-9\-\_\:\.]/g, '' );
|
id = id.replace( /[^a-zA-Z0-9\-\_\:\.]/g, '' );
|
||||||
}
|
}
|
||||||
|
|
||||||
// If the current slide has an ID, use that as a named link
|
var indexf;
|
||||||
if( typeof id === 'string' && id.length ) {
|
if( config.fragmentInURL ) {
|
||||||
|
indexf = getIndices().f;
|
||||||
|
}
|
||||||
|
|
||||||
|
// If the current slide has an ID, use that as a named link,
|
||||||
|
// but we don't support named links with a fragment index
|
||||||
|
if( typeof id === 'string' && id.length && indexf === undefined ) {
|
||||||
url = '/' + id;
|
url = '/' + id;
|
||||||
}
|
}
|
||||||
// Otherwise use the /h/v index
|
// Otherwise use the /h/v index
|
||||||
else {
|
else {
|
||||||
if( indexh > 0 || indexv > 0 ) url += indexh;
|
if( indexh > 0 || indexv > 0 || indexf !== undefined ) url += indexh;
|
||||||
if( indexv > 0 ) url += '/' + indexv;
|
if( indexv > 0 || indexf !== undefined ) url += '/' + indexv;
|
||||||
|
if( indexf !== undefined ) url += '/' + indexf;
|
||||||
}
|
}
|
||||||
|
|
||||||
window.location.hash = url;
|
window.location.hash = url;
|
||||||
|
@ -4089,6 +4104,9 @@
|
||||||
|
|
||||||
updateControls();
|
updateControls();
|
||||||
updateProgress();
|
updateProgress();
|
||||||
|
if( config.fragmentInURL ) {
|
||||||
|
writeURL();
|
||||||
|
}
|
||||||
|
|
||||||
return !!( fragmentsShown.length || fragmentsHidden.length );
|
return !!( fragmentsShown.length || fragmentsHidden.length );
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue