Разбор url из переменной
<script type="text/javascript"> function parseGetParams() { var $_GET = {}; var __GET = window.location.search.substring(1).split("&"); for(var i=0; i<__GET.length; i++) { var getVar = __GET[i].split("="); $_GET[getVar[0]] = typeof(getVar[1])=="undefined" ? "" : getVar[1]; } return $_GET; } var GETArr = parseGetParams(); var str = JSON.stringify(GETArr); var peremen = JSON.parse(str); var price=peremen.price; var number=peremen.number; </script> Этот скрипт разбирает url из браузера. Подскажите как сделать чтобы сделать все тоже самое только из переменной. допустим: var url=xx.ru/index.php?price=12&number=5; |
var __GET = new URL(url).search.substring(1).split("&") Работает не во всех браузерах, но есть костыль. $_GET, __GET, GETArr - такие имена смотрятся вырвиглазно в JS, неужели нельзя записать их в нормальном виде? Цитата:
getVar[1] || ''. Ну а в-третьих, даже в случаях, когда проверка нужна, ее пишут как getVar[1] === undefined без всяких typeof. Более того, чаще всего проверка на undefined вовсе не требуется. |
Цитата:
|
var __GET = url.substring(url.indexOf('?') + 1).split("&") |
Упс. Я хотел написать
var __GET = (new URL(url)).search.substring(1).split("&")Но таки да, это все избыточно. Проще вариант Aetae |
А вобще, такие вещи на стороне сервера разбираются и если надо JSON-ом на страницу пишутся. Во-первых, на сервере проще работать с переменными запроса, а во-вторых, решение окажется рабочим с noscript - мелочь, а приятно. А для кого-то и не мелочь )
|
Фигню написал. Какой нафиг JSON с noscript )))
Всмысле, это подходит, когда нужно например значения инпутов формы проинициализировать. |
я пишу скрипт для imacros (расширение для FF)
|
Спасибо всем, вариант от Aetae подходит, еще раз спасибо
|
Цитата:
|
Часовой пояс GMT +3, время: 14:41. |