- JavaScript: Window Location
- Window Location Href
- Window Location Hostname
- Window Location Pathname
- Window Location Protocol
- Window Location Port
- Window Location Search
- Window Location Hash
- Window Location Assign()
- Window Location Reload()
- Window Location Replace()
- Window Location toString()
- Пример
- Форум
- Справочник
- window.location
- Описание, примеры
- Объект Location
- Свойства объекта Location
- Методы объекта Location
- Difference between window.location.href=window.location.href and window.location.reload()
- 12 Answers 12
- How to reload a page using JavaScript
- 18 Answers 18
JavaScript: Window Location
Объект Window.location предоставляет информацию о текущем адресе страницы (URL), позволяет реализовать обновление (перезагрузку) страницы, перенаправление браузера на другой URL и многое другое.
Объект Window.location содержит следующие свойства и методы.
Window Location Href
Данный метод вернёт href (URL) текущей страницы (полный путь). Можно использовать без префикса href , просто location .
Window Location Hostname
Свойство window.location.hostname возвращает имя хоста текущей страницы (без порта).
Window Location Pathname
Свойство window.location.pathname возвращает путь до текущей страницы (без домена).
Window Location Protocol
Свойство window.location.protocol возвращает веб-протокол данной страницы (http или https).
Window Location Port
Свойство window.location.port возвращает номер порта данного хоста.
Некоторые браузеры не будут отображать номера портов по умолчанию (80 для http и 443 для https).
Window Location Search
Свойство window.location.search содержит GET параметры — с добавлением в начале ? . Обычно называют «строка запроса» /search?q=text . Несколько параметров: ?id=18&title=phone .
Т.о. мы изменяем параметры, которые хотим передать на сервер.
Window Location Hash
Свойство window.location.hash содержит id фрагмента, включая символ # (hash).
Window Location Assign()
Метод window.location.assign() загружает новую страницу.
Window Location Reload()
Метод window.location.reload() позволяет перезагрузить страницу (текущий URL).
Перезагрузка страницы с использованием кэша.
Перезагрузка текущей страницы без использования кэша, она будет заново загружена с сервера.
Window Location Replace()
Метод window.location.replace() позволяет перенаправить подобно HTTP-редиректу. Также текущая страница не будет сохранена в объекте History (нельзя будет использовать кнопку «Назад»).
Пример перенаправления через 2 секунды на страницу «Благодарности».
Window Location toString()
Пример использования метода toString() :
Пример
Возьмем текущую страницу в качестве примера URL, к которому мы добавим все возможные параметры:
Это разделяется следующим образом:
[https:] // [only-to-top.ru] : [443] [/blog/coding/2019-11-30-javascript-window-location.html] [?name=value] [#hash]
Свойства объекта Window.location касательно данного примера:
[protocol] [hostname] [port] [pathname] [search] [hash]
Надеюсь, вам понравилась данная информация. Если вам интересна тема web-разработки, то можете следить за выходом новых статей в Telegram.
Форум
Справочник
window.location
Получает/устанавливает URL окна и его компоненты
Описание, примеры
Значением этого свойства является объект типа Location .
Объект Location
Метод toString этого объекта возвращает URL, а различные свойства позволяют получить/установить отдельные компоненты адреса.
Для некоторых строковых операций необходимо явно преобразовать Location к строке:
Свойства объекта Location
Все следующие свойства являются строками.
Колонка «Пример» содержит их значения для URL:
- http://www.google.com:80/search?q=javascript#test
Свойство | Описание | Пример |
hash | часть URL, которая идет после символа решетки ‘#’, включая символ ‘#’ | #test |
host | хост и порт | www.google.com:80 |
href | весь URL | http://www.google.com:80/search?q=javascript#test |
hostname | хост (без порта) | www.google.com |
pathname | строка пути (относительно хоста) | /search |
port | номер порта | 80 |
protocol | протокол | http: |
search | часть адреса после символа ?, включая символ ? | ?q=javascript |
В Firefox есть баг: если hash -компонент адреса содержит закодированные (см. encodeURIComponent) символы, свойство hash возвращает раскодированный компонент. Например, вместо %20 будет пробел и т.п. Другие браузеры ведут себя корректно и не раскодируют hash .
Методы объекта Location
При изменении любых свойств window.location , кроме hash , документ будет перезагружен, как если бы для модифицированного url был вызван метод window.location.assign() .
При вызове sendData(‘My Data’) на сервер отправится строка
с параметрами «?My%20Data».
Как можно получить параметр из URl? Только в ручную разбирая search
А еще пробежаться по массиву, разбить его элементы по ‘=’ и составить хеш. Будет вообще замечательно.
кстати объект document тоже содержит в себе ссылку на объект location.
Кто знает как запретить чужому сайту из фрейма трогать location.
Если кто не понял, в чем дело, попробуйте Яндекс во фрейм положить.
vkontakte также закрыт..
вот чтобы не воровали контент чужих страниц клиентом — так и сделано
Вконтакте hash находиться в объекте flashVars.
Существует ли простой способ разбора параметров location.search ?
То есть функция, я ей — параметр, она мне — его значение.
Если стандартной такой функции не существует, то наверняка уже кто-то писал такую функцию. Чего мне велосипед то изобретать? Поделитесь, пожалуйста.
Запускаем функцию (например: «window.onLoad = parseGET;») — получаем массив get[_параметр_]=_значение_.
Только вот ты забыл, что в JS нету ассоциативных массивов и вот эта строка
get[tmp2[0]] = tmp2[1];
не имеет смысла до тех пор, пока она
get = new Array();
Рабочая версия (возвращает объект)
По секрету. Ассоциативные массивы в JS есть. И, что доставляет, это — одная из важнейших его частей.
Кхм, и называется оно «Объект»? ) В js нет ассоциативного массива, по крайней мере в таком виде, чтобы инстанс некоего типа имел возможность присваивания своим именованным свойствам неких значений и при этом сохранял возможности «массива», которые являются привычными и устоявшимися (конкатенация массивов, сортировка по ключу/значению и прочее). Объект — хеш — назвать ассоциативным массивом ввиду отсутствия нативных «массивных» возможностей можно с натяжкой. Принимая во внимание тот факт, что в спеке ECMA-262 ни разу не встречается словосочетание «associative array» или слово «hash». Это народные обзывательства, реально же в js ассоциативных массивов нет в должном привычном объёме.
а как cделать так,чтобы location.href=cсылка , загружало ссылку в определенный фрейм (то есть target)?
как в a.js понять какой query ему отдали, ибо location.search — содержит есессно query основной страницы, и не подходит?
Добавь скрипту ID, потом через document.getElementById получи объект..
Преобразуй строку в объект и работай дальше..
Для примера создана вторая функция — print_r, чтобы проверит результат..
ну а как содержимое скрипта получить ? плачу 5баксов кто покажет . jipik(a)bk.ru
имется виду внешний скрипт
Испробовал вот такой «лобовой» вариант
так вот myhash.length возвращает 0 и при отсутствии хэша, и при варианте site.com/# и при варианте site.com/page.html# — и НЕ ЧИСТИТ этот чертов завершающий #
результат аналогичный: site.com/# решетка гордо в URL
Решением оказался вот такой ход:
Теперь завершающий пустой хэш остается только, если вызывается та же самая страница, то есть без перехода на новый URL (например, на ссылке «Домой» остался такой аппендикс).
Для простого получения адреса текущей, обобразится на экране, стрницы —
document.write(location ); // получить адрес текущей страницы
У меня с некоторых компов значение document.location.hostname == null.
Это при первой загрузке страницы, если страницу обновить, то встает нормальное значение, но скрипт-то отрабатывается в первый раз.
Из-за чего такое может быть?
Здравствуйте. Помогите, пожалуйста. Никак не могу сообразить. Мне надо, чтобы по нажатию кнопки шел просчитывались данные и шел переход на другую страницу. У меня переходит на другую страницу, но берет устаревшую из кэша, для просмотра обновленных данных приходится перезагружать страницу вручную. А можно как-нибудь переходить сразу на обновленную страницу или сделать последовательно: сначала переход на другую страницу, а потом её автоматическое обновление?
Выше спрашивали: » У меня переходит на другую страницу, но берет устаревшую из кэша, для просмотра обновленных данных приходится перезагружать страницу вручную. А можно как-нибудь переходить сразу на обновленную страницу или сделать последовательно: сначала переход на другую страницу, а потом её автоматическое обновление?»
mario games
Великие посты! Я на самом деле готовлюсь через эту информацию, очень полезен мой друг. happy wheels
Всем привет.
У меня есть аудио поток m3u и когда переключаешься с wifi на 3g он прекращается и выдает ошибку:
Failed to load resource: net::ERR_NETWORK_CHANGED
Можно ли как то скриптом чекать эту ошибку и если она есть то перезагружать не страницу а область () ?
Link exchange is nothing else however it is simply placing the other person’s website pokemon masters cheats link on your page at proper place and other person will also do same in favor of you.
Живопись фотографии бесплатно, цветные шаблоны страниц и пустые картинки включают в себя большую коллекцию для раскрашивания. Надежные и высококачественные цветовые шаблоны
Difference between window.location.href=window.location.href and window.location.reload()
What is the difference between JavaScript’s
12 Answers 12
If I remember correctly, window.location.reload() reloads the current page with POST data, while window.location.href=window.location.href does not include the POST data.
As noted by @W3Max in the comments below, window.location.href=window.location.href will not reload the page if there’s an anchor (#) in the URL — You must use window.location.reload() in this case.
Also, as noted by @Mic below, window.location.reload() takes an additional argument skipCache so that with using window.location.reload(true) the browser will skip the cache and reload the page from the server. window.location.reload(false) will do the opposite, and load the page from cache if possible.
If you say window.location.reload(true) the browser will skip the cache and reload the page from the server. window.location.reload(false) will do the opposite.
Note: default value for window.location.reload() is false
The difference is that
will not reload the page if there is a hash (#) in the URL (with or without something after it), whereas
will reload the page.
If you add the boolean true to the reload window.location.reload(true) it will load from server.
It is not clear how supported this boolean is, W3Org mentions that NS used to support it
There MIGHT be a difference between the content of window.location.href and document.URL — there at least used to be a difference between location.href and the non-standard and deprecated document.location that had to do with redirection, but that is really last millennium.
For documentation purposes I would use window.location.reload() because that is what you want to do.
As said, modifying the href when there is a hash (#) in the url would not reload the page. Thus, I use this to reload it instead of regular expressions:
Came across this question researching some aberrant behavior in IE, specifically IE9, didn’t check older versions. It seems
results in a refresh that blanks out the entire screen for a second, where as
refreshes the page much more quickly, almost imperceptibly.
Doing a bit more research, and some experimentation with fiddler, it seems that window.location.reload() will bypass the cache and reload from the server regardless if you pass the boolean with it or not, this includes getting all of your assets (images, scripts, style sheets, etc) again. So if you just want the page to refresh the HTML, the window.location = document.URL will return much quicker and with less traffic.
A difference in behavior between browsers is that when IE9 uses the reload method it clears the visible page and seemingly rebuilds it from scratch, where FF and chrome wait till they get the new assets and rebuild them if they are different.
How to reload a page using JavaScript
How can I reload the page using JavaScript?
I need a method that works in all browsers.
18 Answers 18
See this MDN page for more information.
If you are refreshing after an onclick then you’ll need to return false directly after
Here are 535 ways to reload the page using JavaScript, the easiest being location = location .
These are the first 50:
You can perform this task using window.location.reload(); . As there are many ways to do this but I think it is the appropriate way to reload the same document with JavaScript. Here is the explanation
JavaScript window.location object can be used
- to get current page address (URL)
- to redirect the browser to another page
- to reload the same page
window : in JavaScript represents an open window in a browser.
location : in JavaScript holds information about current URL.
The location object is like a fragment of the window object and is called up through the window.location property.
location object has three methods:
- assign() : used to load a new document
- reload() : used to reload current document
- replace() : used to replace current document with a new one
So here we need to use reload() , because it can help us in reloading the same document.