mirror of
https://github.com/Jermolene/TiddlyWiki5
synced 2024-11-27 03:57:21 +00:00
Fixes #598
Ensure we don’t generate permalinks with a target that is not in the current story
This commit is contained in:
parent
f368175cb0
commit
56251dc1f8
@ -97,12 +97,19 @@ function openStartupTiddlers(options) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function updateLocationHash() {
|
function updateLocationHash() {
|
||||||
|
// Get the story and the history stack
|
||||||
var storyList = $tw.wiki.getTiddlerList(DEFAULT_STORY_TITLE),
|
var storyList = $tw.wiki.getTiddlerList(DEFAULT_STORY_TITLE),
|
||||||
historyList = $tw.wiki.getTiddlerData(DEFAULT_HISTORY_TITLE,[]);
|
historyList = $tw.wiki.getTiddlerData(DEFAULT_HISTORY_TITLE,[]);
|
||||||
var targetTiddler = "";
|
var targetTiddler = "";
|
||||||
|
// The target tiddler is the one at the top of the stack
|
||||||
if(historyList.length > 0) {
|
if(historyList.length > 0) {
|
||||||
targetTiddler = historyList[historyList.length-1].title;
|
targetTiddler = historyList[historyList.length-1].title;
|
||||||
}
|
}
|
||||||
|
// Blank the target tiddler if it isn't present in the story
|
||||||
|
if(storyList.indexOf(targetTiddler) === -1) {
|
||||||
|
targetTiddler = "";
|
||||||
|
}
|
||||||
|
// Assemble the location hash
|
||||||
$tw.locationHash = "#" + encodeURIComponent(targetTiddler) + ":" + encodeURIComponent($tw.utils.stringifyList(storyList));
|
$tw.locationHash = "#" + encodeURIComponent(targetTiddler) + ":" + encodeURIComponent($tw.utils.stringifyList(storyList));
|
||||||
// Only change the location hash if we must, thus avoiding unnecessary onhashchange events
|
// Only change the location hash if we must, thus avoiding unnecessary onhashchange events
|
||||||
if($tw.utils.getLocationHash() !== $tw.locationHash) {
|
if($tw.utils.getLocationHash() !== $tw.locationHash) {
|
||||||
|
Loading…
Reference in New Issue
Block a user