Поскольку вы работаете с объектом location
, используйте:
location.protocol + '//' + location.host + '/';
// On this page, it shows: http://stackoverflow.com/
// Include pathname:
location.protocol + '//' + location.host + location.pathname + '/';
Для вашего собственного решения вы можете добавить +1
ко второму аргументу:
top.location.href.substr(0, top.location.href.lastIndexOf("/")+1 );
^^ Hi Plus One!
Ответ на обновленный вопрос (см. Комментарии ОП):
var href = top.location.href.replace(/(\/[^\/]+){2}\/?$/, '');