Zantetsuken
27 Jul 2007, 18:29
Ты про Iframe чтоли? Я так понял ты про
Код
<iframe src="http://forum.df2.ru"></iframe>
gamecreator
27 Jul 2007, 20:36
форум отображается в окошке 300х150
Ну, у "iframe", разумеется, есть параметры.
Никогда не пользовался, но что-то вроде width/height должно быть.
izrukvruki
30 Jul 2007, 12:42
Цитата(Black Draсon @ 27 Jul 2007, 08:03)
Или поставь локальный php-сервер и потести его...Могу рассказать как это сделать

Расскажи пожалуста, вдруг в жизни пригодится
Цитата(Druin @ 27 Jul 2007, 12:33)
Что-то долго открівается - потом почитаю....
Цитата(Botc @ 27 Jul 2007, 15:49)
Как сделать, чтобы на одном сайте отображался другой
Существует возможность перенаправить со своей страницы на другую с помощью передачи заголовков META. Примерно так:
Код
<HTML>
<HEAD>
<META HTTP-EQUIV=Refresh CONTENT="0; URL=http://forum.df2.ru/">
</HEAD>
<BODY>
</BODY>
</HTML>
0 управляет временем в секундах, через которое будет осуществлено перенаправление. URL -- понятно, чем.
К слову, если не указывать параметра URL , то Ваша страница будет обновляться периодически (Естественно, рекомендуется указывать время обновления большее, чем 0)
Цитата(Zantetsuken @ 27 Jul 2007, 18:29)
Код
<iframe src="http://forum.df2.ru"></iframe>
Можно и просто фреймом, конечно (Нужно прочесть про синтаксис конструкции HTML-тэгов <frameset>,<frame> где-нибудь)
Тэг <iframe> не поддерживается всеми браузерами, хотя и поддерживается большинством. Указаные выше <frameset>,<frame> работают в большем количестве браузеров, хотя опять таки, не во всех(Исключения -- ОЧЕНЬ старые версии) . Тем не менее, работать в смысле синтаксиса, безусловно, удобнее с <iframe>.
Ну и да, описание стиля типа style='width:200px;height:100px' будет работать корректно для большинства браузеров и ВСЕХ HTML-элементов, имеющих геометрию. В том числе и для <iframe>
Zantetsuken
02 Aug 2007, 16:17
Ну я надеюсь, что ты в курсе что фреймы это технологии давно забытых цивилизаций

Сейчас ими пользуются только в крайних случаях по всем известным причинам. Тэг iframe поддерживается всеми современными бразуерами.
Цитата(Zantetsuken @ 02 Aug 2007, 16:17)
Ну я надеюсь, что ты в курсе что фреймы это технологии давно забытых цивилизаций :)
Да мне всё равно, какой цивилизации инструмент, если он работает.
Цитата(Zantetsuken @ 02 Aug 2007, 16:17)
Сейчас ими пользуются только в крайних случаях по всем известным причинам.
Редко -- да. И это правильно. О "всем известных причинах" могу только догадываться. Просветите?
Цитата(Zantetsuken @ 02 Aug 2007, 16:17)
Тэг iframe поддерживается всеми современными бразуерами.
Текстовыми (а среди них есть и современные) -- не всеми. :) Строго говоря, не всеми современными т.е.
Я же дал решение, которое будет работать (практически) безотносительно браузера.
А <frameset> с одним фреймом будет работать без косяков, которые, как я пологаю, Вы имели ввиду под "всем известными".
Но это всё тонкости. :)
Цитата(Bes @ 21 Nov 2006, 13:45)
У меня ещё куча вопросов про html-тэги...
Вот например, почему когда прописываешь звуковой файл (mp3, wav) через тэг <EMBED> с параметром hidden, всё равно остаётся отступ в оформлении, поидее и он должен скрываться. Из-за этого приходиться использовать <bgsound> :( (а мне больше первый нравится)
Вобщем, понятно почему: <EMBED> предполагает встраеваемый объект, про который заранее не известно, имеет ли он геометрические свойства. Т.е. Сам тэг <EMBED> должен их иметь, я чуть эту тему зацеплял выше.
Есть мысль использовать слои. Примерно так:
Код
<HTML>
<HEAD>
</HEAD>
<body>
1
<div style='position:absolute;z-index:-10;visibility:hidden'>
<EMBED SRC="ringout.wav" hidden="true">
</div>
2
<br>
1
2
</body>
</HTML>
В таком варианте, вроде, никакого отступа не наблюдаю (Вторая строка как раз для наблюдения создана), хотя, если <div ...>,</div> убрать, отступ виден глазом в IE
-----------
Тестил в:
Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6
IE Версия : 6.0.2900.2180.xpsp_sp2.rtm.040803-2158
Цитата(izrukvruki @ 01 Dec 2006, 16:37)
Каким образом сайт делать на нескольких языках (ну хотя бы на двух: рус и англ)???
Цитата(izrukvruki @ 01 Dec 2006, 16:50)
Я вот спрашиваю. может какая хитрость есть?
Есть жуткая штука:
http://msdn2.microsoft.com/en-us/library/ms531417.aspxСуть штуки: Ты можешь по событиям подтягивать различный контент, расположенный в файлах на серваке "без перегрузки" страницы.
В настоящее время (и очень активно) в таких целях используют "технологию"
ajax, но она вцелом для динамического контента. У тебя, как я понял, статический.
Я ей(behavior download) однажды пользовался для обновления логов, которые отображаются на странице админа. И еще однажды -- для создания какой-то херни, которая на excel основывалась.
На тот момент (около 2 лет назад) штука работала только в IE. Вообще, behavior( "модель поведения" с англ.пр.), вроде, никто больше не держит до сих пор.
Вцелом такой подход рекомендовать не стал бы, но мб тебе понравится. :)
А. Ну и да, без перевода никуда не деться по-любому.
4 weaw
Код
<div style='position:absolute;z-index:-10;visibility:hidden'>
А зачем здесь слой "опускать до 10 уровня низкости"(

), если следом идёт параметр "невидимость?

"
Разве слой и без того не исчезнет, даже если и будет сверху какого-нибудь др. слоя?
Незачем его так уж "опускать", конечно. :)
Главная мысль была -- на другой слой, а с кодом я мог и перемудрить, конечно.
Да, я тут чуть не написал, что можно и выше слоем, если свойство невидимости добавить, но это, возможно, неправильно будет, потому что тогда события могут перекрываться на главном слое. Ну, типа клики и выделения текста могут работать на верхнем слое, а он будет невидим и будет непонятно, почему не выделяется, к примеру, текст видимый. (Тут я неуверен точно, существует ли геометрически невидимый слой, от этого зависит...)
Так что предложу верно ложить слоем именно ПОД слой визуального контента.
Хотя точно не скажу, как наименее косячно будет -- у меня не так много опыта в верстке. Если интересно тестить -- Нужно попробовать заэмбедить что-нибудь жуткое, типа MS Eхcel, в разных вариантах.
Я, к сожалению (или к счастью? :), возможности таких тестов на работе лишен.
А. Ну и насчёт "нужно ли невидимость для нижнего слоя":
Существует достаточно известный косяк с отрисовкой <select> в нижнем слое.
Код
<HTML>
<HEAD>
</HEAD>
<body>
<div style='position:absolute;z-index:-10;visibility:visible;width:400px;height:400px'>
<select name='oTestSelect' id='oTestSelect'>
<option value=1>Тестовый селект</option>
</select>
</div>
А тут какой-то<br>
ТЕКСТ
</body>
</HTML>
Так вот в таком виде select отрисовывается (В IE), несмотря на то, что слой, по идее, закрыт текстом. А вот если невидимость выставить, то всё будет здорово.
Это я к тому, что в <embed> вообще любой известный системе объект теоретически подрубить можно, с которым хз что будет, раз уж даже с select'ом, который "официальный" тэг, проблема.
Подскажите пож-та как сделать у себя на сайте адресную панель т.е набираешь адрес сайта жмешь ентер( как в браузерах)
Цитата(Botc @ 06 Aug 2007, 15:15)
Подскажите пож-та как сделать у себя на сайте адресную панель т.е набираешь адрес сайта жмешь ентер( как в браузерах)
Как-то так:
Код
<HTML>
<HEAD>
</HEAD>
<body>
<form method="POST"
onSubmit="var sUrl=this.oUrl.value;
if (sUrl.indexOf('http://')==-1) sUrl='http://'+sUrl;
location.href=sUrl;
return false;"
>
<input type="text" id='oUrl' name='oUrl' style="width:400px">
</form>
</body>
</HTML>
Точнее, проверка нужна такая:
Код
if (sUrl.indexOf('http://')!=0) sUrl='http://'+sUrl;
Спасибо (проверил-работает)
Как правильно составить код чтобы сайт из адресной панели открывался у меня на сайте
Спасибо
Вводим название сайта жмем ентер и справой стороны с помощью frameset или iframe(может и по другому) открывается набранный сайт
Ну, всё-таки предполагается, что ты и сам будешь что-то пытаться делать... :)
Добавь iframe . Попробуй у него location.href заменить вместо location.href в том куске javascript, что выше.
(Когда используют 'location.href' имеют ввиду окно браузера текущее вцелом, но и некоторые другие объекты такое свойство поддержат. Типа фреймов как раз.).
Не выйдет -- попробуй src изменить для этого фрейма.
Я незнаю с помощью чего мне увязать этот javascript с фреймом те чтобы по нажатии ентер сайт открывался в правом фрейме а не в левом где и находится панель ввода адреса
Тебе нужно сначала добыть сам элемент, которым ты хочешь управлять (фрейм) в javascript, а потом уже изменять его свойства, как тебе нужно.
В настоящее время рекомендуется пользоваться вызовом document.getElementById('[ИД_ОБЪЕКТА]') для того, чтоб его получить.
Т.е. написать что-то типа <iframe id='oContentFrame'> в HTML и, далее, в java script: var oContentFrame=document.getElementById('oContentFrame');
И после этого в твоей задаче нужно попытаться установить значение location.href, либо src этого объекта в полученное из "командной строки" значение (Как получить значение -- есть в примере выше, а обратиться к этим свойствам объекта можно oContentFrame.location.href,oContentFrame.src соответственно)
Может кто знает...???
Если счётчики на сайте "загнать" под параметр visibility="hidden", или же под display:none, будет ли вестить нормальный подсчёт посещений??? Или же счётчики будут не дееспособны?
P.S.: и ещё... когда картинки под таким кодом спрятаны, они всё равно подгружаются браузером, или же нет???
Спасибо!
Цитата(Bes @ 09 Aug 2007, 20:02)
Если счётчики на сайте "загнать" под параметр visibility="hidden", или же под display:none, будет ли вестить нормальный подсчёт посещений??? Или же счётчики будут не дееспособны?
P.S.: и ещё... когда картинки под таким кодом спрятаны, они всё равно подгружаются браузером, или же нет???
Вцелом: контент скрытый таким образом, как ты описал, ничем вобщем не отличается от видимого -- по идее должны работать счётчики и подгружаться картинки на невидимом слое/объекте.
Однако, если авторы счётчика захотят, чтоб счётчик не работал, если невидим, то могут кое-что предпринять в этом смысле -- будь внимателен -- проверяй, если не доверяешь им. Относительно картинок -- теоретически могут не подгружаться на специфических браузерах, которые обрабатывают подобные ситуации (я таких не встречал, правда, но в принципе такая модель поведения браузера возможна).
2 weaw
1. iframe отображается в левом фрейме а должен отображаться после нажатия на ентер и справа.
2. var oContentFrame=document.getElementById('oContentFrame'); - это я так понимаю ставлю после return false;"
3. Когда меняешь location.href на свою страничку не работает скрипт
Вот что уменя(верх тот же):
location.href=sUrl;
src=netseek.htm;
return false;"
var oContentFrame=document.getElementById('oContentFrame');
>
<input type="text" id='oUrl' name='oUrl' style="width:190px">
</form>
<iframe src="netseek.htm" id='oContentFrame.src'></iframe>
Где что не так?
Значит так.
Во-первых, всё, что написано в функции после return работать не будет никогда. Потому что return -- возвращение функцией результата обработки. Конкретно в том, что мы пытаемся сделать, возвращается false потому что обрабатывается событие, а именно: событие заполнения формы и нам нужно "подавить" само событие, чтобы не было перехода на action формы, который делается браузерами по умолчанию. Т.е. по этой части замечания:
-- return должен идти последней строкой;
-- Возвращатся должно именно false;
Далее
var oContentFrame=document.getElementById('oContentFrame');
делается для того, чтобы работать дальше именно с выбранным фреймом, а не с основным окном браузера. Конкретно, в переменной oContentFrame javascript'а будет содержаться объект, ссылающийся на фрейм, для которого прописан id='oContentFrame'.
Соответственно, нужно написать как-то так:
Код
var oContentFrame=document.getElementById('oContentFrame');
oContentFrame.location.href=sUrl;
// Если результат не будет достигнут, предыдущюю строчку убрать, а следующюю раскомментить:
// oContentFrame.src=sUrl;
return false;
---------------------
И просьба еще: Дай код весь целиком, тогда смогу помочь с расположением.
Да, еще пара слов:
1.Комментарии (это неисполняемая часть кода, служащяя для описания самого кода) в javascript оформляются как "//" перед комментируемой частью строки, либо "/*[комментируемая
многострочная
часть]*/"
2.При работе со строками в открытом виде (Это у тебя там, где попытка выставить src: netseek.htm -- строка) необходимо экранировать строку кавычками ("), либо апострафами ('), т.е. писать "netseek.htm", либо 'netseek.htm'. Конкретно в нашем примере, использовать надо именно второй вариант, потому что кавычки у нас использованы уже для определения функции обработки события onSubmit формы.
Попробоал оба варианта но после нажатия на ентер документ грузиться в этом же фрейме и iframe отображается тоже в левом фрейме хотя надо чтобы он вообще не отображался и грузился в правый после нажатия на ентер Думаю что тут конструкция посложнее нужна
Дай код целиком, пожалуйста.
<form method="POST"
onSubmit="var sUrl=this.oUrl.value;
if (sUrl.indexOf('http://')!=0) sUrl='http://'+sUrl;
location.href=sUrl;
var oContentFrame=document.getElementById('oContentFrame');
oContentFrame.location.href=sUrl;
return false;"
>
<input type="text" id='oUrl' name='oUrl' style="width:190px">
</form>
<iframe (здесь еще src="netseek.htm" ставил) id='oContentFrame'></iframe>
А нужно так:
Код
<form method="POST"
onSubmit="var sUrl=this.oUrl.value;
if (sUrl.indexOf('http://')!=0) sUrl='http://'+sUrl;
var oContentFrame=document.getElementById('oContentFrame');
oContentFrame.src=sUrl;
return false;"
>
<input type="text" id='oUrl' name='oUrl' style="width:190px">
</form>
<iframe id='oContentFrame'></iframe>
Дело в том, что твоя строчка location.href=sUrl; перенаправляет на страницу, указанную в "командной строке"(делается это для основного окна браузера), а уже ПОСЛЕ происходит попытка перенаправить фрейм. Поэтому она(строчка) лишняя.
//
Я так понял, кстати, что ya.ru, yandex.ru, вероятно, еще кто-то обрабатывают подобную ситуацию и перегружают себя в основное окно.А про "правый" и "левый" фреймы я вообще не понял. Их в том, что ты дал, нету. Есть один фрейм...
Все хорошо только iframe отображается в левом фрейме(где и находится панель адреса только ниже) а надо чтобы его было невидно а по нажатии на ентер он (iframe) подгружался в правый фрейм
Может ему параметры задать?
Да что за левый фрейм? :)
Т.е. тебе просто не нужно его(фрейм) показывать до того, как загрузится что-то?
Изначально:
<html>
<head>
<LINK rel="stylesheet" href="skins/default/default.css" type="text/css">
<title>NetSeek</title>
</head>
<frameset cols="206,*" BORDER=0>
<frame SCROLLING="NO" src="files/sidebar.htm" NAME="left" CLASS="leftframe">
<frame SCROLLING="AUTO" src="files/welcome.htm" NAME="viewer" FRAMEBORDER="0">
</frameset>
</html>
sidebar.htm - левый(где панель адреса)
на вопрос - да
Пропиши Iframe стиль:
<iframe id='oContentFrame' style='position:relative;display:none'></iframe>
А в скрипте добавь строку:
oContentFrame.style.display='block';
Теперь только позиция iframe(надо чтобы грузился вместо welcome.htm-пост 133) и еще не могу кнопку ентер сделать(прописываю <input ...> и перестает работать ентер в текстовом поле).
Заранее спасибо!
PS: Делаю на своем сайте супер мета поиск + панель адреса пригодится
Скажите, есть ли команда, кoторая бы сворачивала в трэй запущенную страничку...

Типа, написать
<body onload="java script:window.minimize()"> и будет мне счастье
2 Weaw
Вы не знаете ответов на вопросы или просто не хотите ответить (сразу скажу, что в скриптах я не разбераюсь и сам не смогу решить проблему).
Прошу прощения, у меня времени сейчас нету совсем :(
К концу недели должен освободиться.
помнит может кто, как jscript'ом заставить страницу рефреш
Добавлено ([mergetime]1187944107[/mergetime]):
location.reload(true);
Добавлено ([mergetime]1187944134[/mergetime]):
я разговариваю сам с собой, не обращайте внимания
Цитата(Botc @ 10 Aug 2007, 16:03)
Теперь только позиция iframe(надо чтобы грузился вместо welcome.htm-пост 133)
Я думаю, фреймы там лишние. Нужно сверстать таблицей и добавить Iframe с контентом куда нужно. Но если хочется-таки с фреймами, то придётся в
Код
var oContentFrame=document.getElementById('oContentFrame');
добавлять путь к фрейму, в котором элемент находится. Это я бы стал делать через document.frames[<имя_фрейма>], вроде, так.
Цитата(Botc @ 10 Aug 2007, 16:03)
и еще не могу кнопку ентер сделать(прописываю <input ...> и перестает работать ентер в текстовом поле).
<input type=submit> должен работать.
var oContentFrame=document.frames[1].getElementById('oContentFrame');
так прописал и пишет ошибку + грузиться в левый фрейм
Поигрался чуть. Результаты:
В левом фрейме код должен быть примерно такой.
Код
<form method="GET"
onSubmit="var sUrl=this.oUrl.value;
if (sUrl.indexOf('http://')!=0) sUrl='http://'+sUrl;
var oContentFrame=window.parent['viewer'];
oContentFrame.location.href=sUrl;
return false;"
>
<input type="text" id='oUrl' name='oUrl' style="width:190px">
</form>
Ну, только нужно чтоб правый фрейм назывался именно 'viewer'.
Так работает на Ура, а кнопку ( <input type="button" name='???' value="Enter" onClick="???">) как правильно прописать?
2 weaw
Ой, не посмотрел выше. Вопрос про кнопку отпадает.
Огромное спасибо за помощь
кстати о формах с методом GET: Используя формы в основном использовать стоит POST, т.к. при ПОСТе не паляццо даные в адресе.
Забываем о method="GET". Вытащить из "ПОСТа" даже легче нежели из GET масива.
Я бы не согласился:
Первое (выбор метода) зависит от целей.
Второе (про вытаскивание данных) совершенно равноценно как для GET , так и для POST.
Конкретно в примере выше, к слову, я спецом GET выставил. Никакие данные там не "палятся", конечно.
Вобщем, мне кажется, для формулировки
Код
Забываем о method="GET".
нужны какие-то более конкретные пояснения.
передача данных формы GET*ом не совсем оправдана.
Например у меня в проектах были формы которые имели по 30 полей, и как это будет передаваццо ҐЭТом ?
Zantetsuken
30 Aug 2007, 16:03
Оба метода хороши, но каждый для своих целей.
Цитата(Azure @ 30 Aug 2007, 15:55)
передача данных формы GET*ом не совсем оправдана.
Например у меня в проектах были формы которые имели по 30 полей, и как это будет передаваццо ҐЭТом ?
А в чём, собственно, вопрос? В том, что у Вас URL будет длинный? -- так это дело вкуса. Или то, что на размер данных, передаваемых по GET есть ограничение? Так и на POST такие ограничения есть :)
Вы вот на URL'ы этого самого форума гляньте. И, кстати, ведь часть форм тут именно GET'ом работает... А ipb не такие уж ограниченные люди создавали, по моим понятиям, вполне их уважаю.
Shmatko
30 Aug 2007, 19:00
Цитата(Azure @ 27 Aug 2007, 13:46)
кстати о формах с методом GET: Используя формы в основном использовать стоит POST, т.к. при ПОСТе не паляццо даные в адресе.
Бред. Те, кому понадобится именно палить данные, наверняка не такие уж и лузеры и смогут перехватить данные, переданные POST-ом. И GET удобен для создания навигации по сайту, в отличии от POST.
А если говорить о безопасности, то понятное дело пароли надо прятать от посторонних глаз. Но снова же, если юзер вводит пароль в каком-нибудь клубе, хоть ты убейся, но в обоих случаях(в обоих методах) "нечестный" админ без проблем украдет пароль.
И ваще если так рассуждать - вводить данные опасно, т.к. их всегда смогут украсть )
ЗЫ: оба метода созданы каждый для своих целей, но есть цели, которых можно достичь обоими этими методами - в таких случаях абсолютно всеравно, какой метод применить.
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.