![]() |
|
Модераторы: Sardar, Aliance |
![]()
|
|
| vpokorp |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 113 Регистрация: 5.4.2006 Репутация: нет Всего: нет |
Допустим есть текстовая составляющая ("Вася Пупкин") ссылки страницы А (класный журнал на 50 фамилий). По ней переходим на страницу В в новом окне. Как сделать так, чтобы в неком месте страницы В появилась надпись "Вася Пупкин"?
|
|||
|
||||
| Vaulter |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1724 Регистрация: 30.12.2002 Где: бункер Репутация: 1 Всего: 22 |
при формировании страницы B (если есть серверная часть выполнения) узнавать (чаще всего по ID , в данном случае ученика) его "Вася Пупкин" и выводить
еще вариант, передавать по ссылке в качестве параметра эту самую тексовую информацию типа pageB.html?Вася%20Пупкин и JS смотреть, выводить. |
|||
|
||||
| Aliance |
|
|||
![]() I ♥ <script> ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6418 Регистрация: 2.8.2004 Где: spb Репутация: 55 Всего: 137 |
Читаем прикрепленные темы:
http://forum.vingrad.ru/index.php?showtopic=44559 ЗЫ: согласен с Vaulter - лучше делать на сервере. |
|||
|
||||
| vpokorp |
|
||||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 113 Регистрация: 5.4.2006 Репутация: нет Всего: нет |
Хотелось чтобы было попроще на исходящей странице. Типа:
А на следующей странице (в томже или в новом окне, хотя лучше в новом по
По ссылке ничего конкретного не нашел. Добавлено @ 11:48
Вот это и интересно. То-есть нужен конкретный код скрипта. Правда лучше без параметра на 1й странице, т.к. сами тексты ссылок немаленькие, а записей на странице куча. Чтобы не перегружать страницу. |
||||||
|
|||||||
| Vaulter |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1724 Регистрация: 30.12.2002 Где: бункер Репутация: 1 Всего: 22 |
vpokorp, менять ссылы все равно придется, в той или иной степени
писАть примеры к сожалению нет времени, но в общих чертах вариант 1 1. делаем в ссылке onClick = 'goto(this);return false' 2. в фун-й goto - выдираем текст ссылки, идем по урлу ссылки + передаем параметр текст 3. во второй странице скрипт где должно появлятся надпись типа если есть параметры (фун-и не помню) пишем <h1>текст</h1> |
|||
|
||||
| vpokorp |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 113 Регистрация: 5.4.2006 Репутация: нет Всего: нет |
Смена ссылок устраивает, лишь бы не повторялась их текстовая часть (Вася Пупкин), на самом деле там до 250 знаков.
Жалко, что нет времени, потому что сам я не потяну. |
|||
|
||||
| Messenger |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 29 Регистрация: 16.2.2006 Репутация: нет Всего: 1 |
opener
Returns a reference to the window that created the current window. Syntax object.opener[ = opener] вот и вытягивай или
на опере работает. |
|||
|
||||
| vpokorp |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 113 Регистрация: 5.4.2006 Репутация: нет Всего: нет |
C input наверно и сработает.
Только вот заяндексирует ли яндекс Васю Пупкина, если он окажется в Инпуте? А код чета не работает |
|||
|
||||
| Messenger |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 29 Регистрация: 16.2.2006 Репутация: нет Всего: 1 |
Как неработает
Идея с input такая, перед открытием нового окна кладёш туда данные (javascript onclick и т.д.), а из нового окна забираеш. То есть input всегo лиш один. |
|||
|
||||
| vpokorp |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 113 Регистрация: 5.4.2006 Репутация: нет Всего: нет |
В верхнем левом углу появляются две строчки:new window и modify но не ссылки, а так просто.
IE 6.0 яваскрипт включена. Хотелось бы подробнее про вариант с одиночным инпутом. Обойдемся ли мы в этом услучае одиночным упоминанием Васи Пупкина? |
|||
|
||||
| 12345c |
|
||||
![]() Круглый ![]() ![]() ![]() ![]() Профиль Группа: Vingrad developer Сообщений: 2018 Регистрация: 26.12.2005 Где: наша не пропадала ? Репутация: 57 Всего: 101 |
Так всё ж правильно, по заданию:
Вот она появилась в виде "golden boy". Короче, Вы бы чётче сформулировали задачу: в каком виде нужна надпись в новом окне? Яндекс Васю Пупкина не заиндексирует, если в коде страницы он будет не в href=...Vasya%20Pupkin. Второй вопрос тут возникнет, что если передача по ссылке русскими буквами, то их надо "ескейпить" (escape("Вася Пупкин")), а потом ставить в УРЛ. Т.обр., в урле будет href=...%u0412%u0430%u0441%u044F%20%u041F%u0443%u043F%u043A%u0438%u043D . И, так как урл может быть до чуть меньше, чем 1024 (точно не помню, но связано с длиной пакета метода GET), то столько сможете и передать спецсимволов нелатинницы, сколько получится длина. Затем, из УРЛа в новом окне скриптом вытаскиваете location.search и из него - имя, которое затем unescape() и ставите в нужное место. Дайте чёткую постановку - получите пример. |
||||
|
|||||
| vpokorp |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 113 Регистрация: 5.4.2006 Репутация: нет Всего: нет |
Я же писал, что этод код у меня не запускается. Т.е. нет никакого перехода на 2-ю страницу, т.к. ссылки не работают как ссылки, а стоят как надписи на 1-й странице.
Четкая задача: На странице А стоит 50 текстовых ссылок (длиной около 200 знаков на кирилице). Нужно чтобы нажимая на любую из них посетитель попадал на одну и ту же страницу В, в начале которой будет отображаться текст ссылки, по которой он перешел. Желательно, чтобы каждый уникальный текст кирилицей (Вася Пупкин ... Абдурахман ибн Хатаб) на странице А употреблялся только один раз (и не дублировался латиницей, а тем более ескейпом), чтобы не раздувать размер страницы. |
|||
|
||||
| 12345c |
|
||||
![]() Круглый ![]() ![]() ![]() ![]() Профиль Группа: Vingrad developer Сообщений: 2018 Регистрация: 26.12.2005 Где: наша не пропадала ? Репутация: 57 Всего: 101 |
Разберитесь, почему не запускается. Возможно, у Вас подавитель всплывающих окон в самом сильном режиме ("никаких попапов"). И тогда или ищите для себя вариант со слоем в окне (который тоже может давиться баннерорезками), или пытайтесь обойти свою конкретную окнодавилку. Но, вы сами понимаете, этот вариант - не метод. Хочет человек давить окна - пусть давит себе на здоровье. Самое большее, что можете сделать - проверить после open(,,) существование окна (лучше после задержки в 0.1-0.5 с). Если не существует - даёте предупреждение: "Ваш компьютер запрещает показывать всплывающие окна".
Добавлено @ 12:10 Ага, по задаче. Текст ссылки - и есть то, что хотите передать. И, я посмотрел, текст программы Messenger-а недоделан, нет document.close(), не будет работать в Опере или будет глючить в IE и других. Сейчас сделаю вариант, проверьте его. Пример, код основной страницы:
Код страницы JsPrimeryCode-83a.htm :
Должны запускаться через веб-сервер или протокол file:///(путь локального файла). Можно, конечно, укоротить тексты тегов < a > за счёт < base target=okno2> , o2.location.href='JsPrimeryCode-83a.htm'+... в нужном месте и прочих оптимизаций. Пример работы: http://js2.ru/example/JsPrimeryCode-83.htm Ещё примечание: текст лучше передавать не через урл, а прямым взятием из окна (opener.document.getElementById(ssylka).innerHTML), а ид в переменной ssylka брать как раз из УРЛ, передавая указанным способом без escape(). Тогда длина текста будет неограничена и УРЛ будет приличным. Это сообщение отредактировал(а) 12345c - 3.3.2008, 14:55 -------------------- Google Code Playground - онлайн-отладка своих примеров HTML+JS без регистрации, с сохранением по URL, без кириллицы. Go |
||||
|
|||||
| vpokorp |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 113 Регистрация: 5.4.2006 Репутация: нет Всего: нет |
Пример работы - просто супер, то что доктор прописал.
Однако посмотрите, что у меня получается у своего хостера: http://fenix.best-host.ru/10.html Нажав на первую ссылку получаем в новом окне сообщение: Forbidden You don't have permission to access /JsPrimeryCode-83a.htm on this server. -------------------------------------------------------------------------------- Apache/1.3.34 Server at fenix.best-host.ru Port 80 При этом в адресе страницы:
что в три раза меньше, чем в том же примере у Вас на сайте. Ограничение по длине адреса? Это вопросы к моему хостеру? По второй ссылке в том же окне только надпись "Далее текст..." (в адресе http://fenix.best-host.ru/JsPrimeryCode-83a.htm вообще без параметров) |
|||
|
||||
| vpokorp |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 113 Регистрация: 5.4.2006 Репутация: нет Всего: нет |
Кстати пустое место по второй ссылке (у абдурахмана) у меня появлялось и в локальной папке на моем компьютере. А вот попробовал другой хостинг, и все заработало - как часы.
В чем может быть проблемма? Добавлено @ 14:47 Убрал ескейп в 1м файле. Все везде заработало, и в локальной папке и в первом хостинге. Так ли уж он нужен? Сколько посетителей не смогут прочитать, то что будет написано без него? |
|||
|
||||
| 12345c |
|
|||
![]() Круглый ![]() ![]() ![]() ![]() Профиль Группа: Vingrad developer Сообщений: 2018 Регистрация: 26.12.2005 Где: наша не пропадала ? Репутация: 57 Всего: 101 |
Ескейп нужен для правильного набора символов в строке УРЛа. Если код символа за пределами безопасных 96 (около) штук, протокол http не гарантирует передачи запроса или его неискажения.
В вашем примере первый клик на первой ссылке вызвал надпись в статусе: "...auto-poup filter..." и что-то такое. Потом всё пошло нормально, но УРЛ не безопасный. Возможно, хостер не выдерживает длинный УРЛ, не знаю. Советую переделать скрипт, чтобы передавать id ссылки. Правильно, если ссылка без параметра, то сверху будет пусто. Если http://fenix.best-host.ru/JsPrimeryCode-83a.htm?abcdefgh , то будет выведен параметр. Добавлено @ 15:19 В общем, где-то читал, что УРЛ должен уложиться в один запрос, а он то ли до 512 бывает длиной, толи 1024, из них часть - служебная информация. Получается, зависеть может от маршрута пакета. |
|||
|
||||
![]()
|
| Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | JavaScript: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |