Ярлык браузера - добавить URL

1

Мне нужно было помочь с функцией, которую я никогда раньше не видел. Я даже не знаю, существует ли это, но вы, возможно, встретились. Я имею в виду ярлыки в браузере, и я хотел бы добавить еще один ярлык, чтобы "добавить" это "в конец URL".
Пример:
Я на www.example.com и нажимаю на ссылку в панели быстрого доступа, чтобы перенаправить меня на www.example.com/redir1. Если я на www.example2.com и нажимаю на ту же ссылку, он перенаправляет меня на www.example2.com/redir1.

Я управляю несколькими сайтами, и мне нужно нажать "Настройки/бла-бла/страница/", занимает несколько минут. Связываясь, я хотел бы перейти прямо к "странице", поэтому мне не нужно нажимать и загружать страницы до этого столько раз.

  • 1
    @Regolith Это не цель блоков кода. Не злоупотребляйте этим
Теги:

1 ответ

1

Вы можете использовать закладку. Закладки (небольшие) фрагменты JavaScript, которые будут выполняться при нажатии на ссылку с закладкой. Я использую их для быстрой навигации в системах билета.

Возможно, этот пример решает вашу проблему. Конечно, вы должны сконденсировать свой JavaScript только на одну строку, чтобы он вписывался в адресную строку закладки.

javascript:(function(){open(window.location.protocol + "//" + window.location.hostname + "/redir1");})();

Вы даже можете открыть приглашение JavaScript для получения какого-либо пользовательского ввода. Следующий пример запрашивает у пользователя, куда он хочет пойти, и соответственно изменяет ссылку.

javascript:(function(){var relPath=prompt('Where do you want to go?'); open(window.location.protocol + "//" + window.location.hostname + "/" + relPath);})();

Я тестировал это в текущих версиях Firefox и Chrome. Просто добавьте новую закладку и используйте код JavaScript вместо любого URL.


Дополнительные примеры, как указано в комментариях.
Для удобства чтения я представляю второй в нескольких строках, удаляя разрывы строк, прежде чем пытаться использовать его в качестве букмарклета.

Первый пример перемещается из
protocol://sub.domain.tld/any/possible/path/somewhere.xyz to
protocol://sub.domain.tld/web1/site/site.xml.

javascript:(function(){open(window.location.protocol + "//" + window.location.hostname + "/web1/site/site.xml");})();

Второй пример - переход от
protocol://sub.domain.tld/keep/this/any/site.xml
protocol://sub.domain.tld/keep/this/another/resource.

Если window.location не содержит достаточно длинного имени пути, навигация не будет работать, потому что скрипт просто добавит "undefined" в целевой URL.

javascript:(function(){
    var pathNameAsArray = window.location.pathname.split('/');
    var pathToKeep = "/" + pathNameAsArray[1] + "/" + pathNameAsArray[2];
    open(window.location.protocol + "//" + window.location.hostname + pathToKeep + "/another/resource");})();
  • 0
    Спасибо, это сработало! Можете ли вы помочь мне, если это возможно ?: Когда я нахожусь на странице www.example.com/web/site/site.xml и хочу перейти на страницу www.example.com/web/settings, можно ли сделать это с помощью JavaScript? Вам нужен тот же самый javascript для большего количества страниц ... например, www.example.com/web1/site/site.xml www.example.com/web1/site/site.xml ... Спасибо вам большое! Адам
  • 0
    Я думаю, что второй пример делает то, что вы хотите. Является ли?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню