addressbar
Advanced tools
Comparing version 0.1.8 to 0.1.9
18
index.js
@@ -20,2 +20,3 @@ var EventEmitter = require('events').EventEmitter; | ||
var prevUrl = location.href; | ||
var currentSetUrl = null; | ||
@@ -57,3 +58,9 @@ var emitChange = function (url) { | ||
isSilent = true; | ||
history.replaceState({url: prevUrl, index: index}, '', prevUrl.replace(origin, '')); | ||
// If not set any new url, meaning its just prevented, | ||
// revert url | ||
if (currentSetUrl !== location.href) { | ||
history.replaceState({url: prevUrl, index: index}, '', prevUrl.replace(origin, '')); | ||
} | ||
} | ||
@@ -77,5 +84,13 @@ | ||
set: function (value) { | ||
if (value.indexOf(origin) === -1) { | ||
value = origin + value; | ||
} | ||
currentSetUrl = value; | ||
if (value === location.href) { | ||
return; | ||
} | ||
if (!doReplace) { | ||
@@ -89,2 +104,3 @@ history.pushState({url: value, index: index++}, '', value.replace(origin, '')); | ||
isPreventingDefault = false; | ||
} | ||
@@ -91,0 +107,0 @@ }); |
{ | ||
"name": "addressbar", | ||
"version": "0.1.8", | ||
"version": "0.1.9", | ||
"description": "Makes the addressbar of the browser work just like a normal input", | ||
@@ -5,0 +5,0 @@ "main": "index.js", |
5612
102