| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > JavaScript: Общие вопросы > Передача данных по страницам |
| Автор: Alx 7.12.2003, 10:40 |
| Вот интересно, какие есть варианты? Я например представляю себе только один: модальные (ну или неможальные) окна... Хотя, мне недавно пришла в голову мысля... можно копировать данные в Буфер, затем, на другой странице выводить их куда надо, и очищать Буфер. У кого ещё есть варианты?)) |
| Автор: Secandr 7.12.2003, 11:11 |
| Можно открывать новое окно и document.write Меня мучает давно вопрос: можно при помощи js получить get-переменные? |
| Автор: Alx 7.12.2003, 11:22 |
| нет, я имею ввиду из одного нормальных окна передать инфу в другое не менее нормальное)) |
| Автор: [xoodo] 7.12.2003, 18:47 |
| Если передать нужно одну переменную, то можно при открытии нового окна присвоить ему имя, идентичное значению переменной, и потом через window.name (кажется) это значени получить. Но это называется словом ИЗВРАЩЕНИЕ. Других вариантов с Яваскриптом я не придумаю что-то... А, cookies родимые еще! Но не у всех они включены. |
| Автор: m@kxus 8.12.2003, 09:54 |
| window.location.search - содержит в формате String все переменные, которые передаются с формы при submit. Можно извратиться и написать функцию, которая будет искать в этой строке нужные значения. Это как вариант... |
| Автор: [xoodo] 8.12.2003, 19:51 |
| А можно с этого момента по-подробнее? У меня window.location.search передал пустую строку, хотя заведомо было что передавать из формы. Есть ли тут еще нюансы, о которых я не подозреваю? |
| Автор: nikolin 2.2.2004, 22:01 | ||
| _http://www.test.ru/look.html?0 _http://www.test.ru/look.html#0 look.html
|
| Автор: Royan 8.2.2004, 13:51 |
| Еслм открывать новое окно, то специально для этого Microsoft ввела специальное свойство - dialogArguments. Для краткости привоже прямо сюда отрывки из статьи с msdn'а: Retrieves the variable or array of variables passed into the modal dialog window. Syntax [ vVariables = ] window.dialogArguments Possible Values vVariables String, numeric, object, or array value that specifies arguments. The property is read-only. The property has no default value. Remarks The dialogArguments property applies only to windows created using the showModalDialog and showModelessDialog methods. |
| Автор: Гость_DeathStorm 9.2.2004, 15:30 |
| dialog arguments только для модальных окошечек (sux) а чем фреймы не устраивают вершний фрэйм для хранения инфы |
| Автор: Royan 9.2.2004, 22:02 |
| На самом деле хранить информацию надо на сервере и пользоваться server-side языками, а все эти причуды с передачей параметров сквозь JavaSctipt большей частью надуманы и я бы даже сказал это не есть признак отменного програмирования |
| Автор: Sardar 9.2.2004, 23:15 |
| Royan полностю с тобой согласен, но все же иногда появляются потребности делать что то нестандартное, например узнать не открыто ли окошко с определенной страницей рядом. Это изврат, но иногда хочется |
| Автор: Гость_DeathStorm 10.2.2004, 10:41 |
| нет надуманных проблем есть поставленные задачи и способы их выполнения а по каждому поводу сервак нагружать он ведь не магазин делает |
| Автор: Unregistered 25.2.2004, 16:06 |
| <script language="JavaScript"> var C=[["%40","@"],["%3A",":"],["%2F","/"],["+"," "],["%2B","+"],["%23","#"],["%28","("],["%29",")"],["%22","\""],["%27","'"],["%3B",";"],["%2C",","],["%5C","\"],["%26","&"],["%24","$"],["%3E",">"],["%3C","<"],["%5E","^"],["%21","!"],["%3F","?"]]; var get=document.URL.substring(document.URL.indexOf("?")+1,document.URL.length);var gets=[];var tmpN="";var Flag=0;var k=0;var GL=get.length; function Replace(v){for(i=0; i<C.length; i++){pos=1;while(pos>=0){pos=v.indexOf(C[i][0]);if(pos>=0){v=v.substring(0,pos)+C[i][1]+v.substring(pos+C[i][0].length,v.length);}}}return v;} for(i=0; i<GL; i++){if(get.substring(0,1)=="="){Flag=1;gets[tmpN]="";}else{if(get.substring(0,1)!="&"){if(Flag==0){tmpN+=get.substring(0,1);}else{gets[tmpN]+=get.substring(0,1);}}else{gets[tmpN]=Replace(gets[tmpN]);tmpN="";Flag=0;k++;}}get=get.substring(1,get.length);}gets[tmpN]=Replace(gets[tmpN]); document.write(gets["get_var_name"]); </script> |
| Автор: GoodBoy 25.2.2004, 18:08 | ||
Вай-вай-вай!!!! А если вот так:
После чего в массиве gets получаем все то, что нам пришло в запросе. |
| Автор: GoodBoy 25.2.2004, 18:11 | ||
Извиняюсь... Опять кусок съелся... Должно быть вот так:
Разница в двойном слэше перед символом + и перед самим символом "\" нужно поставить еще один! |
| Автор: Sardar 25.2.2004, 21:12 | ||
Все решили порпробовать себя в разборке аргументов
Проверенно в IE, Opera(7.23), Mozilla(1.6). |
| Автор: Alx 28.2.2004, 13:31 |
| Royan так для ентого ещё нужно выучиться серверным языкам, найти хостинг подходящий...) но по-моему я предложил неплохой вариант предачи через буфер обмена! |
| Автор: Royan 1.3.2004, 21:41 |
| Дело твое, но не забывай, что это а) Не секъюрно (читай не надежно) б) Не стабильно - JS очень часто глючит в IE и еще кое-чего о чем писать лень в) Все выше перечисленное лично мое мнение ;) |
| Автор: Alx 1.3.2004, 21:57 |
| Royan так я ж не отрицаю! но за неимением лучшего... воть скоро я выучу PHP - будет другое дело! |