Как понять, на какой я странице, если в адресной строке нет изменений?
Привет.
Допустим, есть форум, где каждый пользователь может создать тему и редактировать её.
После создания темы ей присваивается номер, и ссылка на тему выглядит примерно так: forum.domen/theme2678
Когда пользователь жмёт на "Редактировать тему", он переходит на соответствующую страницу, где можно изменить название темы и прочее, но в адресной строке почему-то стоит по-прежнему forum.domen/theme2678, а не forum.domen/theme2678edit, например.
Мне интересно, почему происходит именно так и есть ли способ сделать ссылку на страницу редактирования при таком раскладе?
Он никуда не переходит, если в адресной строке этого нет.
Это динамическое изменение страницы. Фактического перехода нет.
В зависимости от пожеланий разработчика сайта - при подобном динамическом изменении может меняться, а может и не меняться содержимое адресной строки. Но строка тут вторична.
А можно это динамическое изменение сохранить и возобновлять его, когда вздумается? То есть чтобы был какой-то page.html, при открытии которого сразу попадаешь на страницу редактирования.
А можно это динамическое изменение сохранить и возобновлять его, когда вздумается? То есть чтобы был какой-то page.html, при открытии которого сразу попадаешь на страницу редактирования.
Если разработчик предусмотрел, чтобы по определенному URL это было возможно - то да. Но чтобы реализовать это - разработчик должен будет написать дополнительный код.
То есть это не связанные вещи с тем, что вы видите на странице - когда входите в режим редактирования, а URL не меняется. Даже если визуально выглядит одинаково.
nrgian, резюмируем: ничего не поделать.
Тему можно редактировать только в промежутке тридцати минут после создания, а дальше возможность редактирования исчезает. Но когда открываешь страницу редактирования и ждёшь хоть сорок минут, внести изменения удается. Хотел таким образом иметь возможность редактировать тему в любое время.
Признателен за ответ.
Sfname, Тут можно проанализировать код страницы и написать свой скрипт который будет делать то что нужно. Есть такие вещи как userscript.
Т.е вы можете написать свой скрипт, и запускать его на любой странице в вашем браузере и делать у себя со страницей что угодно. Но тут нужно разбираться в JS.
Но когда открываешь страницу редактирования и ждёшь хоть сорок минут, внести изменения удается.
значит возможность есть, но нужно чуть побольше скиллов.
Можно посмотреть как устроена форма, посмотреть запрос, который уходит при редактировании, и сделать такую-же форму самому.
Если там нет никаких одноразовых токенов (в чем я сильно сомневаюсь), то сработает.
Sfname, да, вы, как пользователь, не сделаете ничего, потому что сайт может быть разработан так, что между URL страницы и ее разными состояниями вообще нет никакой связи. Времена, когда сайты делали так, что все состояния страниц зависели от URL (потому что не было другого способа передачи этого состояния), кончились почти точно 20 лет назад, с появлением функции XMLHttpRequest и технологии AJAX.
Sfname, более того, в современной ситуации нужно особо заботиться о том, чтобы URL менялся. Например, на сайте openstreetmap.org URL обновляется при сдвиге или изменении масштаба карты, но только потому, что разработчики сделали так, что при этих изменениях адрес страницы переписывается скриптом. А потом, при переходе по такой ссылке, опять же скрипт на странице, а не сервер анализирует строку и показывает нужный участок.
Ну чтобы понять это нужно понимать как работает современный веб.
Страница - это файл с отформатированным текстом и графикой который ваш браузер загрузил с сервера. Говорить что вы находитесь на странице не совсем корректно - вы на ней не находитесь, вы ее загрузили.
В современом вебе популярны скрипты на стороне браузера - в загруженной вами странице присутствует исполняемый код, который исполняет браузер меняя внешний вид страницы - например включает возможность редактирования и отображает окно редактора.
Адрес страницы вещь динамическая и меняется по желанию разработчика. При каких то изменениях на стороне браузера он может менятся, а может оставаться неизменным.
есть ли способ сделать ссылку на страницу редактирования при таком раскладе?
Не факт, если разработчик об этом позаботился, то может и быть, а нет, так нет.
Я вам ответил в общем.
Давайте рассмотрим конкретно ваш случай.
Вы нажали кнопку создать тему - и ваш браузер загрузил страницу с созданной вами темой forum.domen/theme2678.
После чего вы включили режим редактирования - запустили код в вашем браузере. Вид страницы поменялся и вы начали ее редактировать.
Т.е все изменения которые произошли со страницей существуют только в памяти вашего компьютера.
Логично?
Возникает вопрос - каким образом можно дать ссылку другим пользователям на память вашего компьютера???
Вот когда вы отредактируете и сохраните изменения - все внесенные вами изменения будут переданы на сервер, и сервер в следующий раз по адресу forum.domen/theme2678 будет отдавать уже другую информацию.
АртемЪ, я думал, эти изменения существуют в браузере и есть возможность, так скажем, сделать снимок состояния браузера, чтобы и другие им могли пользоваться.
Дело в том, что изменения вносить можно только в течение 30 минут, но если 30 минут прошло, а страница редактирования не закрыта, то возможность редактировать страницу всё так же остаётся. Мне хотелось это "состояние ожидания редактирования" сохранить и возвращаться к нему всякий раз, когда захочется.
Сейчас все делают как правило так.
А раньше зачастую для редактирования отправлялась специальная страница. Т.е не создавалась вами в вашем браузере, а загружалась с сервера. И теоретически можно было дать ссылку на загрузку этой страницы другим пользователям.
Только вот на практике обычно есть такие вещи как права - проверяется имеет ли право данный пользователь открывать данную ссылку - и она просто не будет работать у пользователей не наделенных соответствующими правами.
Именно там они и существуют. Браузер это программа загруженная в память вашего компьютера. И доступ к браузеру имеете только вы, а другие пользователи сети интернет, например я, не могут подключится к вашему браузеру и посмотреть что вы там делает.
Мне хотелось это "состояние ожидания редактирования" сохранить и возвращаться к нему всякий раз, когда захочется.
Ну так не закрывайте страницу в браузере.
Проблема то в чем?
И непонятно зачем это нужно?
Не проще ли редактировать у себя на компьютере в удобном редакторе, а потом просто открыть страницу на редактирование и вставить туда всю вашу работу одним махом.
АртемЪ, проблема в том, что не хочется оставлять устройство включенным, будь то телефон или компьютер, а хочется оставить на два дня в неизменном виде тему, а затем вернуться и отредактировать (удалить изображения или полностью изменить тему, чтобы впоследствии её удалили).
Редактировать у себя где-нибудь и затем вставлять не удобнее, потому что имеется получасовой рубеж, при прошествии которого кнопка "Редактировать" исчезает.
Признателен вам за отзыв.
проблема в том, что не хочется оставлять устройство включенным, будь то телефон или компьютер, а хочется оставить на два дня в неизменном виде тему,
Во многих случаях это решается банальной настройкой браузера - чтобы он не закрывал страницы при перезагрузке, а сохранял их в кэше. Так же может помочь гибернация ОС вместо выключения.
А по поводу редактирования у себя я так и не понял почему вас это не устраивает.
Вы там что редактируете? Разметку? Текст?
Делайте это у себя - не открывая страницу, хоть неделю.
А потом открыли страницу, скопипастили туда результат вашего редактирования за полсекунды и сохранили.
АртемЪ, надо посмотреть, есть ли такое на Opera, Chrome или Firefox, и проверить, сработает ли.
Понимаете, под "редактировать" я подразумеваю не дополнение темы или исправление каких-либо элементов, а удаление - удаление текста, изображений, ссылок. Мне нужно, чтобы это всё не оставалось в открытом доступе на форуме, а в один удобный момент исчезло.