Предисловие
Во -первых, нам нужно знать, что такое поиск. Поиск - это свойство Window.Location. Например:
Прежде всего, у нас есть URL, который является http://www.a.com/list/2.html?page=2&color=4&size=3#pic.
Когда мы получаем доступ к этому адресу, откроем консоли, введите Window.Location, и мы получим результат на следующем рисунке
Как упоминалось выше, то, что мы хотим управлять, является частью коробки на рисунке выше.
Зачем вам это управлять?
Например, если мне нужно перейти на третью страницу на второй странице, мне нужно обновить приведенную выше страницу = 2 до page = 3 и убедиться, что другие параметры сохраняются.
Или сначала не было результатов поиска (например, первая страница общего списка, ничего не было), но теперь мне нужно добавить Page = 2.
Затем мне нужно знать, на какой странице я сейчас нахожусь, то есть мне нужно получить значение страницы.
Итак, поиск требуется. Теперь мы отделены от передних и задних концов, поиск является очень важным методом для конфигурации параметров.
Строительный метод
Получите значение параметра, указанное в поиске
Возьмите Байду, и мы нашли следующий метод:
Функция getQueryString (name) {var reg = new Regexp ("(^| &)" + name + "= ([^&]*) (& | $)"); var R = window.location.search.substr (1) .match (reg); if (r! = null) return unescape (r [2]); вернуть null;}Источник метода: метод получения параметров панели адресов с использованием JS
Полнофункциональный метод
Первоначально я хотел написать идею реализации, но я не мог вспомнить ее некоторое время, поэтому я напрямую дал ее окончательному методу:
Функция Funcurl (имя, значение, тип) {var loca = window.location; var baseurl = type == не определен? loca.origin + loca.pathname + "?" : ""; var Query = loca.search.substr (1); // Если нет передачи параметров, значение возврата поиска не содержит знака вопроса if (name == undefined) {return Query} // Если нет значения передачи, верните значение параметра в Query if (value = undefined) {var = Query.match (new regexp (value = indefined) {var = Query.match (new Regexp ("+) +"= ([^&]*) (& | $)")); вернуть val! = null? Unessape (val [2]): null;}; var url; if (query == ") {// Если нет значения поиска, верните Urlurl с добавленным параметром = baseurl + name +" = " + value;} else {// Если нет значения поиска, модифицируйте соответствующее значение в нем и defuplicate it и, наконец, urlvar Query.split ("&"); for (var i = 0; i <arr.length; i ++) {arr [i] = arr [i] .split ("="); obj [arr [i] [0]] = arr [i] [1];}; obj [name] = value; url = baseurl+ Json.stringify (obj) .Replace (/[/"/{/}]/g," "). Заменить (//:/g," = "). Заменить (//,/g," & ");}; return url;}Как использовать
Funcurl () получает полную ценность поиска (не включает в себя вопросы вопроса)
Funcurl (имя) возвращает значение имени в URL (интегрируйте предыдущий абзац методов других людей)
Funcurl (имя, значение) Установите значение имени в поиске, чтобы получить значение и вернуть полный URL
Возврат контент, такой как http://www.a.com/list/2.html?page=2&color=4&size=3#pic
Funcurl (имя, значение, тип) функционирует так же, как и третий элемент, но это только возвращает обновленную строку поиска
Тип здесь может быть любым символом, таким как 1;
Пример вернуть пример контента = 2 & color = 4 & size = 3;
Обычно используется для получения параметров из URL -адреса, а затем приостанавливается на интерфейсе
краткое содержание
Первоначально я хотел найти готовый плагин для использования, но он был слишком большим, чтобы понять, либо не прост в использовании. Конечно, это было главным образом потому, что мой уровень был слишком плохим.
Поэтому я сделал колесо, чтобы поиграть с ним. Хотя код недостаточно элегантен, он все еще отвечает моим потребностям. Если у вас есть лучшие предложения, оставьте мне сообщение.
На самом деле, он в основном используется с VUE, но здесь нет контента VUE, поэтому он не считается серией учебных пособий для VUE.
Выше приведено полное описание некоторых методов и функций поиска в URL операции JavaScript, введенный вам редактором. Я надеюсь, что это будет полезно для вас. Если у вас есть какие -либо вопросы, пожалуйста, оставьте мне сообщение, и редактор ответит вам вовремя. Большое спасибо за вашу поддержку сайту wulin.com!