
igmar
User-
Posts
104 -
Joined
-
Last visited
Content Type
Profiles
Forums
Calendar
Store
Everything posted by igmar
-
Спасибо. Отличное решение. После последнего слэша как раз имя страницы. Но я уже отключил на всех доп страницах основной js. Так подумал, если оттуда практически ничего не используется - зачем это в память зря грузить, можно сделать отдельные маленькие кусочки js. Т.е. для главной страницы у меня 95% js, а на все остальные страницы 5% скриптов.
-
Подскажите, а как можно индентифицировать документ (страницу)? Мне нужно по окончании загрузки страницы запустить функцию. Я это делаю function ready() {alert("загрузилось");boxwidth=document.getElementById('box1').offsetWidth;boxheight=document.getElementById('box1').offsetHeight; }document.addEventListener("DOMContentLoaded", ready); Но этот файл со скриптами .js я подключил и к другим страницам, хотя из него почти ничего не используется. Соответственно, проблема в том, что при загрузке любой страницы срабатывает эта функция. А мне нужно, чтобы срабатывала только на одной странице. Эту страницу можно как-то определить? Например, задать ей какой-то идентификатор в заголовке?Второй вариант, как я понимаю, скрипты, которые используются на других страницах, записать в отдельные файлы .js и эти файлы подключить к тем страницам, таким образом разделив области действия скриптов.
-
Все заработало. Слишком много раз использовал encodeURIComponent() соответственно знак & преобразовывался и не был опознан.
-
ОК! Это для меня слишком сложно. Может кто-то подсказать, почему у меня криво работают методы GET и POST ? Везде написано, что пары данных разделяются амперсандом, а значения отделяются от имени знаком = Т.е. я отсылаю запрос (хоть GET хоть POST) не из формы, а запросом Ajax s=user1&pass=pass1 oAjax.open('GET', 'testlog.php?name='+s, true); oAjax.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');oAjax.setRequestHeader("X-Requested-With", "XMLHttpRequest");oAjax.send();В серверной части (login.php) в переменной $_GET или $_POST, все то что до первого знака '=' является незначащим именем поля, а все остальное значением. Т.е. $_GET['name']=='user1&pass=pass1' и $_GET['pass']=='user1&pass=pass1' и $_GET['чоугодно']=='user1&pass=pass1' Я могу обработать строку и разделить это все, но по-моему здесь что-то не то. Во всех найденных примерах по другому. Может прпоисходит из-за этого oAjax.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');?? Сервер считает, что идет один кусок данных и не разделяет их на поля. Я пробовал вначале oAjax.setRequestHeader('Content-Type', 'text/plain'); но что-то совсем не получалось. Мне бы проще было, чтобы в переменной были пары полей, которые можно вытащить по имени.
-
Отлично. Спасибо. А как сделать окошко авторизации как на этом форуме? Я пока сделал на одной странице скрытый div с полями ввода display:none; position:absolute. При щелчке по ссылке Войти, делаю ему display: block - можно вводить текст в поля. Но хочу, чтобы со всех страниц была возможность авторизоваться. Вот так как на форуме сделано. Как это сделать, чтобы всегда появлялось окошко авторизации поверх текущей страницы ? Для этого нужно на каждой странице делать такой div или можно сделать один для всех страниц ?
-
На самом деле это практический вопрос. После некоторого перерыва я снова взялся пилить свой сайт. Теперь задача разобраться с авторизацией. 1. Может ли пользователь, введя какие-то особенные символы в поля логин и пароль, что-то сломать мне на сайте? 2. И почему обычно все это должно быть на латинице? Ведь базе без разницы какие символы сохранять, например, в utf8.
-
Html нельзя - это язык описания страницы: какой элемент где расположен, какого он размера и цвета ... Для каких-то расчетов и сравнения правильный/ неправильный ответ нужно дополнительно использовать еще другой язык, позволяющий это сделать и перенаправить на другую страницу - php, javascript.
-
Всем привет! Зачем нужно проверять логин и пароль? Что там может быть недопустимого? Какие символы неприемлемые в логине и пароле и почему? Даже если пароль пустой, разве это не личное дело пользователя?
-
Понял. Нужно читать Аякс. Да, мне нужно, чтобы страница не менялась при авторизации. Потому что пользователь уже мог что-то там нащелкать на странице и отсылать его к исходной странице после авторизации неправильно.
-
А вы можете подсказать, как сделать хоть что-нибудь на php чтобы страница не перезагружалась? Я сделал у себя локально форму с кнопкой по адресу (там моя главная страница): http://test2.ru/photo <form id="loginbox" action="login.php" method=post> <input id="logname" onfocus="logfocus('logname')" type="text" name="logname1" value="имя"><br> <input id="logpass" onfocus="logfocus('logpass')" type="text" name="logpass1" value="пароль"><br> <input type="button" onclick="closelogin()" value="Отмена"> <input type="submit" name="submit" value="Войти"></form>Сделал файл login.php который лежит там же. <?phpecho "Hello World";echo "<script>alert(\"Вы вошли на сайт, \");</script>"; ?>Когда жму на кнопку, то страница перезагружается. Что бы ни было внутри скрипта, хоть просто присваивание $a=1; все равно вместо моей открывается чистая страница. На ней уже выводится результат Hello World или ничего не выводится, если нет вывода. Причем ее адрес длинный http://test2.ru/photo/login.php?logname=12345&logpass=%D0%BF%D0%B0%D1%80%D0%BE%D0%BB%D1%8C&submit=%D0%92%D0%BE%D0%B9%D1%82%D0%B8Как сделать, чтобы адрес оставался прежним и оставалась прежняя страница, если я ничего никуда не вывожу? Если в скрипте нет ни одной строчки, все равно появляется новая пустая страница.
-
shrink - наверное, это сжимает или усекает. Работает min-width: 300px Ширина колонки устанавливается правильно и держится. А вот просто width: 300px; не работает, если другая колонка резиновая. Т.е. для flex это обязательное условие, чтобы задать ширину столбца в px. Для высоты, наверное, работает так же, позже мне придется это проверить.
-
Все плохо. Как в том советском анекдоте, когда наука достигла невиданных высот и оживили Ленина. Ленин походил, посмотрел и велел оживить Дзержинского, оставил ему записку: "Феликс, начинаем все сначала. Явки по прежним адресам". Снова двухколоночный макет. У display:flex подтвердился глюк, который заподозрил еще раньше, но не знал как проверить. Собственно, вот беда: http://codepen.io/anon/pen/XmQbBq Задаем правой колонке ширину 300рх, а она меньше. Это видно по красному абсолютному блоку, у которого 300рх. Думаю, там пропорциональное уменьшение. Ширина левой задана 100%, чтобы она заняла все. Она же реально по отношению к родителю не 100%, а меньше на величину правой колонки. И правая колонка тоже пропорционально уменьшилась на такой же %. Как-то так. А блоками все хорошо. http://codepen.io/anon/pen/dYLMEx И с тех пор научился делать высоту 100%. Придется переделать макет блоками для соблюдения абсолютных размеров. Все благополучно решилось заданием min-width Оно работает.
-
Q4Dizzy, благодарю. Теперь знаю что искать. Ухожу на неделю осваивать.
-
Я везде там пощелкал по F12, но не понял где что можно смотреть и зачем это может понадобиться. Мне это пока не нужно. Мне уже нужно учиться работать с сервером. Объясните кто-нибудь, что означает вход пользователя на сайт с технической точки зрения. Пользователь ввел данные, их отослали на сервер, проверили, результат оказался false. Ответ с результатом пришел обратно. Что дальше? Этот результат записывается в глобальную переменную и потом, при кликах по некоторым объектам эта переменная каждый раз проверяется и при false соответствующие функции не запускаются? А если true то запустятся. Но переменные действуют в пределах страницы (документа, окна). А если будет открыто новое окно с новым документом, то значит нужно будет передать туда эту переменную. А как? Или при кликах по таким элементам каждый раз посылается запрос на сервер с каким-то идентификатором (может ip компа), на сервере определяется, что с этим идентификатором осуществлен вход и возвращается соответствующий ответ в зависимости от которого функции будут срабатывать или нет. Могу реально написать на php "Hello World". С этим уже можно начинать.
-
Great Rash,спасибо большое. Я бы не додумался сам. Получается, что li состоит из 2-х элементов, но через li им можно задавать стили только совместно. До тех пор, пока одному элементу не задать position: absolute - тогда он становится сам по себе, как и любой элемент с абсолютным позиционированием. Т.е. before || after - это другой самостоятельный элемент внутри родителя, им можно управлять в какой-то мере.
-
Помогите пожалуйста. Никак не могу сам справиться. Как сделать чтобы текст снизу не залезал под маркеры? http://codepen.io/anon/pen/pggKxw Если убрать из стилей все, что касается списка, то будет как надо. Но тогда не будет скобок. Можно сделать, чтобы и скобки были, и текст чтобы не вылезал?
-
Расскажите, кто знает - как работает броузер с кэшем по изображениям? Если есть тег img в html, то броузер сохраняет изображение в кэш. Как он его определяет, по src (url) ? И если потом встречается img с таким src, то броузер просматривает кэш и если находит такой src, то загружает это изображение из кэша ? 1. А если без тега img в html, а вот так создается и загружается в память изображение, оно будет сохранено в кэш ? var imgtmp = new Image(); imgtmp.src = my_url; 2. А если без тега img в html картинка задается как бэкграунд блока, будет она искаться в кэше по url ? .class1 {background:url("http://igmar.hop.ru/tab2left.gif")no-repeat left top;}
-
Не знаю, что делать вам, но могу сказать, что сделал я. У меня как раз обратная проблема. Я написал в техподдержку. Мне дали отлуп - хостинг бесплатный. Cпросите у своего хостинга возможны ли настройки. > Добрый день. > Я зарегистрировал хостинг на адрес igmar.hop.ru > В заголовке html странички у меня указано <meta charset="utf-8"> > но сервер отдает страничку с заголовком charset=windows-1251 > Можно ли поменять в настройках, чтобы сервер отдавал html-документ с заголовком > charset="utf-8" ? Сервер работает только с кодировкой cp1251 - единственным решением будет только перевод всех страниц в эту кодировку.
-
Заголовок вашей страницы вверху и моей внизу. Сравните charset. Я же сказал вам об этом выше. HTTP/1.1 301 Moved Permanently Server: nginx Date: Fri, 11 Dec 2015 11:13:15 GMT Content-Type: text/html; charset=iso-8859-1 Content-Length: 237 Connection: close Location: http://providers.in.ua/forum/ HTTP/1.1 200 OK Server: Apache X-Powered-By: ModLayout/3.4 Content-Type: text/html; charset=windows-1251 Content-Length: 1961 Date: Fri, 11 Dec 2015 11:15:55 GMT X-Varnish: 1964185420 Age: 0 Via: 1.1 varnish Connection: close
-
А как узнать размер резинового Div в максимизированном окне? Мне нужно узнать его размер только 1 раз и запомнить, чтобы потом сравнивать с размером картинок. Текущий размер я могу узнать var t=document.getElementById('box1');alert("Размер элемента:" + t.offsetWidth + "-" + t.offsetHeight);Но в этот момент окно может быть не макс размера, соответственно, размеры блока тоже не его максимальные. А мне нужны его макс размеры. Нужно максимизировать окно и прочитать размеры блока? Или есть другой способ узнать его исходные размеры?
-
Да, я уже догадался. Внутрь функции вставил установку картинки. Работает. imgtmp.onload = function(){imgwidth=imgtmp.width; imgheight=imgtmp.height;var surl="url(" + this.src + ")";document.getElementById('box1').style.backgroundImage = surl; alert(imgwidth + " ! " +imgheight);}
-
Подскажите как дождаться загрузки картинки. Нужно получить ее размеры. Сделал так. По окончании загрузки пишу их в глобальные переменные, которые потом прочитаю. var imgwidth=0; imgheight=0;var imgtmp = new Image(); imgtmp.onload = function(){imgwidth=imgtmp.width; imgheight=imgtmp.height;//alert(imgwidth + "-" + imgheight);}Потом читаю surl=prefix + arrsel1[0].substr(1) + ".gif";imgtmp.src = surl; alert(imgwidth + " " + imgheight);Проблема в том, что загрузка идет асинхронно. Т.е. если раскомментировать alert в onload, то все хорошо, все присваивается быстро. Но если тормоза нет, то в вызывающей функции момент загрузки проскакивается и imgwidth + imgheight не успевают заполниться. Как дождаться окончания загрузки? Я вставил цикл ожидания так: surl=prefix + arrsel1[0].substr(1) + ".gif";imgtmp.src = surl; while (!imgtmp.onload()) {}alert(imgwidth + " ! " +imgheight);Работает, но почему-то долго. Как нормально решить эту задачу?
-
Так и должно быть. Когда список делаете, всегда его пункты сдвинуты вправо. Это у вас сдвинут внутренний UL (его LI). Задайте ему ; или position:relative; left:-10px. Значение сами подберете. Если сильнее нужно выдвинуть - наоборот, побольше значение. Не пропечатывается вначале, какой-то глюк марджин-лефт:-10px; вот так, даже значение угадал: .vert_nav_area li ul{марджин-лефт:-10px;}
-
Добрый день. Кирпич вертикального меню я сделал. http://codepen.io/anon/pen/RrPNPe Теперь мне надо вернуться доделать картинки. Мне нужно определить размеры картинки и в зависимости от них задать background-size: contain ; или background-size: auto ; Вопрос. Чтобы узнать размер картинки, нужно ее сначала загрузить? А потом, прочитав ее размер, возможно, поменять свойство? Или можно прочитать ее размер сначала по url и это тоже будет быстро? А потом уже загрузить. Как быстрее?
-
Этого недостаточно, что вы ее прописали в заголовке. Сервер отдает страницу по своим настройкам, а не по вашим. В гугле наберите "как узнать кодировку страницы" или "заголовок html" - как-то так. По ссылкам найдете сервисы. Там введете адрес своей страницы и увидите в какой кодировке ее отдает сервер, точнее, какую кодировку он прописывает в заголовке - точно будете знать. И она, наверное, такая AddDefaultCharset UTF-8. Надо поменять.