PSD
Главный специалист
Offline
Пол:
|
|
« : 02-04-2004 09:42 » |
|
Как подгрусить в Ifarme новую страницу я уже знаю. Теперь задачки посложнее... <table width="67" border="0" cellspacing="0" cellpadding="0"> <tr> <td colspan="3"><img src="LogoR.jpg" width="133" height="79" /></td> </tr> <tr> <td colspan="3"><img src="Shtok.jpg" width="510" height="9" /></td> </tr> <tr> <td width="400"> </td> <td id=GGG width="85" height="46" align="center" valign="top" background="Flag.jpg"><span>Клуб </span></td> <td width="25"> </td> </tr> </table> Вот пример кода странички Вопрос как заменить содержимое между двумя тегами? например я хочу заменить <span>Клуб</span> На <span>Форум</span> или вообще перестроить всю таблицу полность заменив все содержимое между тегами <table>..... </table> Пример пожалуста
|
|
|
Записан
|
Да да нет нет все остальное от лукавого.
|
|
|
PSD
Главный специалист
Offline
Пол:
|
|
« Ответ #1 : 02-04-2004 09:50 » |
|
Вопрос номер два У меня есть желание отображать странички по списку в основном дизайне используя IFARAME, это у меня уже работает. Но есть необходимость попутно отображать в разных частях страницы дополнительную информацию связаную с этой страницей. очень хотелось бы хранить эту инфомацию в нутри самой страницы отображаемой в IFRAME.
Например в предыдущем посте я спрашиал как замеить надпись на флаге, теперь мне нужно в место произвольной надписи поместить на флаг название страницы отображаемой в IFRAME Как это сделать? пример пожалуйста
|
|
|
Записан
|
Да да нет нет все остальное от лукавого.
|
|
|
Skubent
Гость
|
|
« Ответ #2 : 02-04-2004 10:16 » |
|
PSD, решается примерно так, как предполагалось решать предыдущую задачку. RXL еще меня поправил (я в ваших трехбуквиях скоро путаться начну ). <script> function ono() { document.getElementById("span1").innerHTML = "Пишу что хочу !"; } </script> <span name="span1" id="span1">Типа</span><br> <input type="button" value="Нажми" onclick="javascript:ono();">
Вся таблица может быть помещена внутри span'a и пиши что хочешь. Я так понял, флаг расположен на родительском документе ? Для того, чтобы надпись на флаг поместить сообразно с названием, надобно в функцию, которая грузит в IFRAME нужную страницу, вставить строку из функции примера.
|
|
« Последнее редактирование: 25-11-2007 16:14 от Алексей1153++ »
|
Записан
|
|
|
|
PSD
Главный специалист
Offline
Пол:
|
|
« Ответ #3 : 02-04-2004 11:13 » |
|
Для того, чтобы надпись на флаг поместить сообразно с названием, надобно в функцию, которая грузит в IFRAME нужную страницу, вставить строку из функции примера.
Логично, вопрос втом как получить нужную информацию, сейчас у меня скрипт обрабатывает конструкцию вида index.htm?t=welcom.htm Приэтом welcom.htm будет подставлен в IFRAME без анализа (не очень красиво зато просто), тепепрь мне нужно выташить из welcom.htm строку(например название страницы) и поместить его при помощи innerHTML в нужное мне место. Вопрос как можно пометить эти данные в докумете welcom.htm и как их потом извлечь при помощи скрипта в находящегося докумете index.htm
|
|
|
Записан
|
Да да нет нет все остальное от лукавого.
|
|
|
Skubent
Гость
|
|
« Ответ #4 : 02-04-2004 11:40 » |
|
PSD, ну ты барин, задачи ставишь... Мож, RXL что умное предложит, но я до понедельника точно пас, там со свежей головой посмотрю
|
|
|
Записан
|
|
|
|
RXL
Технический
Администратор
Offline
Пол:
|
|
« Ответ #5 : 02-04-2004 11:49 » |
|
На сегодня умные мысли кончились...
|
|
|
Записан
|
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|
Anonymous
Гость
|
|
« Ответ #6 : 02-04-2004 20:41 » |
|
А! озадачил я вас)))
|
|
|
Записан
|
|
|
|
Skubent
Гость
|
|
« Ответ #7 : 06-04-2004 11:25 » |
|
PSD, Вот, понедельник по техническим причинам был пропущен, зато смотри что получилось в результате размышлений: Основная страница: <HTML> <HEAD> <TITLE>test</TITLE> </HEAD> <BODY> <BR> <span id="id1">Тут будет реклама</span><br> <IFRAME ID="frame"></IFRAME> <SCRIPT> function SetID1(param) { document.getElementById('id1').innerHTML = param; } mystr = document.URL; tmp = mystr.substring(mystr.indexOf('?') + 1, mystr.lenght); document.getElementById('frame').src = tmp + '.html'; </SCRIPT> </BODY> </HTML>
Дочерняя номер раз) <script> top.SetID1("Внизу вы видите первую дочернюю страницу."); </script> Содержание сей страницы не поддается никакому анализу :).
Дочерняя номер два) <script> top.SetID1("Внизу вы видите вторую дочернюю страницу."); </script> Содержание сей страницы просто, как куриное яйцо.
Ты еще не прекратил издеваться над самим собой ? php или Perl удобнее для таких вещей
|
|
« Последнее редактирование: 25-11-2007 16:16 от Алексей1153++ »
|
Записан
|
|
|
|
PSD
Главный специалист
Offline
Пол:
|
|
« Ответ #8 : 06-04-2004 12:12 » |
|
Так так фактически мы обявляем в родительском документе функцию ... а в дочернем ее вызываем ? Здорово раскрываются невообразимые горизонты... Но у меня почемуто не получилост с mystr = document.URL; tmp = mystr.substring(mystr.indexOf('?') + 1, mystr.lenght);
Почемуто ругалось на indexOf и когда я это безобразие в отладчике цеплял там вообще не было indexOf в списке методов объекта Я пока сдела так mystr = document.location; tmp=mystr.search
Но эта конструкция не работает на 5 версии ....
|
|
|
Записан
|
Да да нет нет все остальное от лукавого.
|
|
|
Skubent
Гость
|
|
« Ответ #9 : 06-04-2004 12:40 » |
|
эээ... Вообще-то indexOf для строковых объектов еще в IE4.0 точно определено было. И, кажется, даже раньше. Ты же говорил, что у тебя конструкции уже работают ?
|
|
|
Записан
|
|
|
|
Skubent
Гость
|
|
« Ответ #10 : 06-04-2004 12:48 » |
|
PSD, и о горизонтах - ты не забывай, что ты все утяжеляешь документы... Модемные пользователи вешаться будут
|
|
|
Записан
|
|
|
|
PSD
Главный специалист
Offline
Пол:
|
|
« Ответ #11 : 07-04-2004 04:49 » |
|
Skubent, ты очем ? Несколько строчек кода не намного утежелят документ, и при отработке SetID1 перезапроса документа не происходит.... Помоему это экономней в смысле трафика, чем пересобирать страницу на сервере и тащить ее к пользователю заново или я что то не не так понимаю? Ты же говорил, что у тебя конструкции Код:
index.html?foo.htm
уже работают ?
Совершенно верно но обнаружились глюки на 5 версии ехплорера виражающиеся в том что в ифрейм грузится не foo.htm а index.html?foo.htm получается такой не хилый саморазворачивающисй каскадец....
|
|
|
Записан
|
Да да нет нет все остальное от лукавого.
|
|
|
Skubent
Гость
|
|
« Ответ #12 : 07-04-2004 06:35 » |
|
PSD, я о том, что каждый span на странице требует своей функции и при более-менее насыщенной структуре страницы получишь примерно 50% контента - функции JScript, что, как мне кажется, не есть гуд. Слухай, у меня под рукой сейчас нет 5-го ослика, поэтому попробуй сие: <script> tmp = document.URL; alert(tmp); alert(tmp.indexOf(".")); </script>
Вообще-то работает на мозилке и нетскейпе...
|
|
« Последнее редактирование: 25-11-2007 16:22 от Алексей1153++ »
|
Записан
|
|
|
|
PSD
Главный специалист
Offline
Пол:
|
|
« Ответ #13 : 07-04-2004 08:39 » |
|
Если стакой точки зрения подходить то да.....
Но мне это пока не гразит, эта задача не подразумевает такое количество динамически изменяемых объектов .... чтоб это сильно сказалось на весе странички...
|
|
|
Записан
|
Да да нет нет все остальное от лукавого.
|
|
|
Skubent
Гость
|
|
« Ответ #14 : 07-04-2004 09:38 » |
|
PSD, так что у тебя получилось-то ? indexOf не работает ?
|
|
|
Записан
|
|
|
|
PSD
Главный специалист
Offline
Пол:
|
|
« Ответ #15 : 07-04-2004 11:52 » |
|
Сейчас не возможности на месте проверить... когда отлаживал выбивало ошибку "ожидается объект" и дебагер не видел среди свойсв объекта tmp,indexOf но это только если я брал document.location с document.URL все работало но там помоему мне возвращали не всю строку http://shelek.com/forum/viewtopic.php?p=51858#51858а только путь к документу http://shelek.com/forum/viewtopic.phpсегодня еще раз посморю повнимательней...
|
|
|
Записан
|
Да да нет нет все остальное от лукавого.
|
|
|
Skubent
Гость
|
|
« Ответ #16 : 08-04-2004 06:02 » |
|
PSD, document.URL возвращает все, что есть в адресной строке браузера.
|
|
|
Записан
|
|
|
|
PSD
Главный специалист
Offline
Пол:
|
|
« Ответ #17 : 19-04-2004 04:43 » |
|
SCRIPT LANGUAGE=JAVASCRIPT TYPE="TEXT/JAVASCRIPT"> mystr = document.location; tmp=mystr.search if (tmp=='') { document.location=mystr+'?t=welcom.htm' ; document.getElementById('PSDTEXTFRAME').src = 'welcom.htm'; } else { document.getElementById('PSDTEXTFRAME').src = tmp.substring(3,tmp.lenght); } </SCRIPT> Вот такой код у меня сей час в работе, все великолепно но вот эта вешь не поддерживается в старых браузерах Пытаюсь изменить на Стабильно получаю, ошибку "Ожидается наличие объекта" Пробую заменить везде document.location на document.URL Все замечательно работает до тех пор пока я не пытаюсь занести новый адрес в URL, наличие этой строки document.URL=mystr+'?t=welcom.htm' вызывает зацикловку с постоянным реботом страницы... Есть ли вариант куль турно разрулить эти грабли? Попутный вопрос как я понимаю в этом случае mystr = document.location; mystr = document.URL; происходит не копирование текстовой строки с адресом а чтото похожее на передачу ссылки на объект. Так? А нельзяли явно прописать что мне нужна от document.location только текстовая строка и ничего больше?
|
|
« Последнее редактирование: 25-11-2007 16:24 от Алексей1153++ »
|
Записан
|
Да да нет нет все остальное от лукавого.
|
|
|
Skubent
Гость
|
|
« Ответ #18 : 19-04-2004 06:40 » |
|
PSD, document.URL - атрибут только для чтения. Объект mystr после mystr=document.URL; имеет тип string, так что вроде как все, что тебе надо и получается. А зачем тебе вообще в URL что-то свое класть ? То есть переходы по ссылкам вроде и так должны работать... А что касается indexOf... У тебя насколько старый браузер ? Возможно, string он еще воспринимает как простой массив, а не объект, но это ж как давно было .
|
|
|
Записан
|
|
|
|
PSD
Главный специалист
Offline
Пол:
|
|
« Ответ #19 : 20-04-2004 04:14 » |
|
Броузер у меня 6 А зачем тебе вообще в URL что-то свое класть ? То есть переходы по ссылкам вроде и так должны работать...
Для едино образия.... Можно и без него .... А как тогда из скрепта сделать редирект на другую страницу?
|
|
|
Записан
|
Да да нет нет все остальное от лукавого.
|
|
|
Skubent
Гость
|
|
« Ответ #20 : 20-04-2004 06:28 » |
|
Редирект ? Ежели по действию пользователя, то ссылкой <a href='трам-парам'>ссылка</a>,
а ежели автоматически, то а) запихнуть в заголовок страницы <meta HTTP-EQUIV="Refresh" CONTENT="время в секундах; URL=куда идти">
Работает, соответственно просто - через указанное время перенаправляет страницу по указанному адресу. б) window.open("куда идти", "_self");
Открывает в текущем окне куказанный адрес.
|
|
« Последнее редактирование: 25-11-2007 16:26 от Алексей1153++ »
|
Записан
|
|
|
|
|