Модераторы: Sardar, Aliance

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как передать тест в новое окно. 
:(
    Опции темы
vpokorp
Дата 29.5.2006, 06:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 113
Регистрация: 5.4.2006

Репутация: нет
Всего: нет



Допустим есть текстовая составляющая ("Вася Пупкин") ссылки  страницы А (класный журнал на 50 фамилий). По ней переходим на страницу В в новом окне. Как сделать так, чтобы в неком месте страницы В появилась надпись "Вася Пупкин"? 
PM   Вверх
Vaulter
Дата 29.5.2006, 08:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1724
Регистрация: 30.12.2002
Где: бункер

Репутация: 1
Всего: 22



при формировании страницы B (если есть серверная часть выполнения) узнавать (чаще всего по ID , в данном случае ученика) его "Вася Пупкин" и выводить smile

еще вариант, передавать по ссылке в качестве параметра эту самую тексовую информацию
типа
pageB.html?Вася%20Пупкин
и JS смотреть, выводить. 


--------------------
PM MAIL WWW ICQ   Вверх
Aliance
Дата 29.5.2006, 09:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 55
Всего: 137



Читаем прикрепленные темы:
http://forum.vingrad.ru/index.php?showtopic=44559

ЗЫ: согласен с Vaulter - лучше делать на сервере. 
PM MAIL WWW ICQ Skype   Вверх
vpokorp
Дата 29.5.2006, 11:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 113
Регистрация: 5.4.2006

Репутация: нет
Всего: нет



Хотелось чтобы было попроще на исходящей странице. Типа:

Код
<a href=" "> Вася Пупкин</a>


А на следующей странице (в томже или в новом окне, хотя лучше в новом по 
Код
target='_blank'
 с помощью яваскрипта вытянуть и вставить Васю Пупкина в нужное место на экране. Сохранять страницу не потребуется. Сложность скрипта может быть произвольной.

По ссылке ничего конкретного не нашел.

Добавлено @ 11:48 
Цитата(Vaulter @ 29.5.2006,  08:51)
еще вариант, передавать по ссылке в качестве параметра эту самую тексовую информацию
типа
pageB.html?Вася%20Пупкин
и JS смотреть, выводить.

Вот это  и интересно. То-есть нужен конкретный код скрипта.

Правда лучше без параметра на 1й странице, т.к. сами тексты ссылок немаленькие, а записей на странице куча. Чтобы не перегружать страницу. 
PM   Вверх
Vaulter
Дата 29.5.2006, 12:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1724
Регистрация: 30.12.2002
Где: бункер

Репутация: 1
Всего: 22



vpokorp, менять ссылы все равно придется, в той или иной степени
писАть примеры к сожалению нет времени, но в общих чертах
вариант 1
1. делаем в ссылке onClick = 'goto(this);return false'
2. в фун-й goto - выдираем текст ссылки, идем по урлу ссылки + передаем параметр текст
3. во второй странице скрипт где должно появлятся надпись типа

если есть параметры (фун-и не помню)
 пишем <h1>текст</h1>
 


--------------------
PM MAIL WWW ICQ   Вверх
vpokorp
Дата 29.5.2006, 12:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 113
Регистрация: 5.4.2006

Репутация: нет
Всего: нет



Смена ссылок устраивает, лишь бы не повторялась их текстовая часть (Вася Пупкин), на самом деле там до 250 знаков.

Жалко, что нет времени, потому что сам я не потяну. 
PM   Вверх
Messenger
Дата 29.5.2006, 13:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 29
Регистрация: 16.2.2006

Репутация: нет
Всего: 1



opener

Returns a reference to the window that created the current window. 

Syntax
object.opener[ = opener]

вот и вытягивай  smile  В первом  документе может потребуется  какой то спрятаный input  с id  и его заполнениe.
или
Код

<html>
<body>
<script language="JavaScript">
var another = null;
function nw()
{
    another = window.open(); 
    another.document.write(
    "<html><body><div id='divid'><div>Voila</div></body></html>"
    );
    modi("The same old song.");
}
function modi(txt)
{
    if(another != null)
    {
        var divid = another.document.getElementById('divid');
        if (divid == null)
        {
            alert("no divid");
            return;
        }
        divid.innerHTML = "<h1>" + txt + "</h1>";
    }
}
</script>
<a onclick="nw();">new window</a><br>
<a onclick="modi('golden boy');">modify</a>
</body>
</html>

на опере работает. 
PM MAIL   Вверх
vpokorp
Дата 29.5.2006, 14:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 113
Регистрация: 5.4.2006

Репутация: нет
Всего: нет



C input наверно и сработает.

Только вот заяндексирует ли яндекс Васю Пупкина, если он окажется в Инпуте?

А код чета не работает smile , даже ссылки не ссылаются, а нюансов ошибочного написания я не отличаю 
PM   Вверх
Messenger
Дата 29.5.2006, 14:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 29
Регистрация: 16.2.2006

Репутация: нет
Всего: 1



Как неработает  smile вот скопировал, всё работает на ура. Просто должен работать, если JavaScript неотключен. Жмёш на new window откыватся новое окно, жмёш modify - изменяет данные нового окна.
Идея с input такая, перед открытием нового окна кладёш туда данные (javascript onclick и т.д.), а из нового окна забираеш. То есть input всегo лиш  один. 
PM MAIL   Вверх
vpokorp
Дата 29.5.2006, 15:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 113
Регистрация: 5.4.2006

Репутация: нет
Всего: нет



В верхнем левом углу появляются две строчки:new window и modify но не ссылки, а так просто. 
IE 6.0 яваскрипт включена.

Хотелось бы подробнее про вариант с одиночным инпутом. Обойдемся ли мы в этом услучае одиночным упоминанием Васи Пупкина? 
PM   Вверх
12345c
Дата 29.5.2006, 19:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Круглый
****


Профиль
Группа: Vingrad developer
Сообщений: 2018
Регистрация: 26.12.2005
Где: наша не пропадала ?

Репутация: 57
Всего: 101



Цитата(vpokorp @  29.5.2006,  15:41 Найти цитируемый пост)
В верхнем левом углу появляются две строчки:new window и modify но не ссылки, а так просто. 
IE 6.0 яваскрипт включена.

Так всё ж правильно, по заданию:
Цитата(vpokorp @  29.5.2006,  06:43 Найти цитируемый пост)
По ней переходим на страницу В в новом окне. Как сделать так, чтобы в неком месте страницы В появилась надпись "Вася Пупкин"? 

Вот она появилась в виде "golden boy".
Короче, Вы бы чётче сформулировали задачу: в каком виде нужна надпись в новом окне?

Яндекс Васю Пупкина не заиндексирует, если в коде страницы он будет не в href=...Vasya%20Pupkin.

Второй вопрос тут возникнет, что если передача по ссылке русскими буквами, то их надо "ескейпить" (escape("Вася Пупкин")), а потом ставить в УРЛ. Т.обр., в урле будет

href=...%u0412%u0430%u0441%u044F%20%u041F%u0443%u043F%u043A%u0438%u043D .

И, так как урл может быть до чуть меньше, чем 1024 (точно не помню, но связано с длиной пакета метода GET), то столько сможете и передать спецсимволов нелатинницы, сколько получится длина.

Затем, из УРЛа в новом окне скриптом вытаскиваете location.search и из него - имя, которое затем unescape() и ставите в нужное место. Дайте чёткую постановку - получите пример. 
PM WWW   Вверх
vpokorp
Дата 29.5.2006, 19:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 113
Регистрация: 5.4.2006

Репутация: нет
Всего: нет



Я же писал, что этод код у меня не запускается. Т.е. нет никакого перехода на 2-ю страницу, т.к. ссылки не работают как ссылки, а стоят как надписи на 1-й странице.

Четкая задача:
На странице А стоит 50 текстовых ссылок (длиной около 200 знаков на кирилице). Нужно чтобы нажимая на любую из них посетитель попадал на одну и ту же страницу В,  в начале которой будет отображаться текст ссылки, по которой он перешел.

Желательно, чтобы каждый уникальный текст кирилицей (Вася Пупкин ... Абдурахман ибн Хатаб) на странице А употреблялся только один раз (и не дублировался латиницей, а тем более ескейпом), чтобы не раздувать размер страницы.





 
PM   Вверх
12345c
Дата 30.5.2006, 11:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Круглый
****


Профиль
Группа: Vingrad developer
Сообщений: 2018
Регистрация: 26.12.2005
Где: наша не пропадала ?

Репутация: 57
Всего: 101



Разберитесь, почему не запускается. Возможно, у Вас подавитель всплывающих окон в самом сильном режиме ("никаких попапов"). И тогда или ищите для себя вариант со слоем в окне (который тоже может давиться баннерорезками), или пытайтесь обойти свою конкретную окнодавилку. Но, вы сами понимаете, этот вариант - не метод. Хочет человек давить окна - пусть давит себе на здоровье. Самое большее, что можете сделать - проверить после open(,,) существование окна (лучше после задержки в 0.1-0.5 с). Если не существует - даёте предупреждение: "Ваш компьютер запрещает показывать всплывающие окна".

Добавлено @ 12:10 
Ага, по задаче. Текст ссылки - и есть то, что хотите передать.
И, я посмотрел, текст программы Messenger-а недоделан, нет document.close(), не будет работать в Опере или будет глючить в IE и других. Сейчас сделаю вариант, проверьте его. 

Пример, код основной страницы:
Код
<meta http-equiv="Content-Type" content="charset=windows-1251">
<script>o2=0;
function win(t){
    if(o2)o2.focus();
    else o2=open('','okno2','');
    t.href=t.href+'?'+escape(t.innerHTML);
}</script>
<a href=JsPrimeryCode-83a.htm onclick=win(this) target=okno2>Вася Пупкин:
    1абвгдежз 2абвгдежз 3абвгдежз 4абвгдежз 5абвгдежз 6абвгдежз 7абвгдежз
    8абвгдежз 9абвгдежз 10бвгдежз </a><br>
<a href=JsPrimeryCode-83a.htm onclick=win(this) target=okno2>
    Гассан Абдуррахман ибн Хоттаб</a>


Код страницы JsPrimeryCode-83a.htm :
Код

<script>document.write('<h3>'+unescape(location.search).substr(1)+'</h3>');</script>
<br>
Далее текст...

Должны запускаться через веб-сервер или протокол 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
PM WWW   Вверх
vpokorp
Дата 30.5.2006, 13:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 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?%u0412%u0430%u0441%u044F%20%u041F%u0443%u043F%u043A%u0438%u043D%3A%201%u0430%u0431%u0432%u0433%u0434%u0435%u0436%u0437%202%u0430%u0431%u0432%u0433%u0434%u0435%u0436%u0437%203%u0430%u0431%u0432%u0433%u0434%u0435%u0436%u0437%204%u0430%u0431%u0432%u0433%u0434%u0435%u0436%u0437%205%u0430%u0431%u0432%u0433%u0434%u0435%u0436%u0437%206%u0430%u0431%u0432%u0433%u0434%u0435%u0436%u0437%207%u0430%u0431%u0432%u0433%u0434%u0435%u0436%u0437%208%u0430%u0431%u0432%u0433%u0434%u0435%u0436%u0437%209%u0430%u0431%u0432%u0433%u0434%u0435%u0436%u0437%2010%u0431%u0432%u0433%u0434%u0435%u0436%u0437%20

что в три раза меньше, чем в том же примере у Вас на сайте. Ограничение по длине адреса? Это вопросы к моему хостеру?

По второй ссылке в том же окне только надпись  "Далее текст..." (в адресе http://fenix.best-host.ru/JsPrimeryCode-83a.htm вообще без параметров) 
PM   Вверх
vpokorp
Дата 30.5.2006, 14:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 113
Регистрация: 5.4.2006

Репутация: нет
Всего: нет



Кстати пустое место по второй ссылке (у абдурахмана) у меня появлялось и в локальной папке на моем компьютере. А вот попробовал другой хостинг, и все заработало - как часы.

В чем может быть проблемма?

Добавлено @ 14:47 
Убрал ескейп в 1м файле. Все везде заработало, и в локальной папке и в первом хостинге.

Так ли уж он нужен? Сколько посетителей не смогут прочитать, то что будет написано без него? 
PM   Вверх
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0807 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.