Jump to content

igmar

User
  • Posts

    104
  • Joined

  • Last visited

Everything posted by igmar

  1. Спасибо. Отличное решение. После последнего слэша как раз имя страницы. Но я уже отключил на всех доп страницах основной js. Так подумал, если оттуда практически ничего не используется - зачем это в память зря грузить, можно сделать отдельные маленькие кусочки js. Т.е. для главной страницы у меня 95% js, а на все остальные страницы 5% скриптов.
  2. Подскажите, а как можно индентифицировать документ (страницу)? Мне нужно по окончании загрузки страницы запустить функцию. Я это делаю function ready() {alert("загрузилось");boxwidth=document.getElementById('box1').offsetWidth;boxheight=document.getElementById('box1').offsetHeight; }document.addEventListener("DOMContentLoaded", ready); Но этот файл со скриптами .js я подключил и к другим страницам, хотя из него почти ничего не используется. Соответственно, проблема в том, что при загрузке любой страницы срабатывает эта функция. А мне нужно, чтобы срабатывала только на одной странице. Эту страницу можно как-то определить? Например, задать ей какой-то идентификатор в заголовке?Второй вариант, как я понимаю, скрипты, которые используются на других страницах, записать в отдельные файлы .js и эти файлы подключить к тем страницам, таким образом разделив области действия скриптов.
  3. Все заработало. Слишком много раз использовал encodeURIComponent() соответственно знак & преобразовывался и не был опознан.
  4. ОК! Это для меня слишком сложно. Может кто-то подсказать, почему у меня криво работают методы 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'); но что-то совсем не получалось. Мне бы проще было, чтобы в переменной были пары полей, которые можно вытащить по имени.
  5. Отлично. Спасибо. А как сделать окошко авторизации как на этом форуме? Я пока сделал на одной странице скрытый div с полями ввода display:none; position:absolute. При щелчке по ссылке Войти, делаю ему display: block - можно вводить текст в поля. Но хочу, чтобы со всех страниц была возможность авторизоваться. Вот так как на форуме сделано. Как это сделать, чтобы всегда появлялось окошко авторизации поверх текущей страницы ? Для этого нужно на каждой странице делать такой div или можно сделать один для всех страниц ?
  6. На самом деле это практический вопрос. После некоторого перерыва я снова взялся пилить свой сайт. Теперь задача разобраться с авторизацией. 1. Может ли пользователь, введя какие-то особенные символы в поля логин и пароль, что-то сломать мне на сайте? 2. И почему обычно все это должно быть на латинице? Ведь базе без разницы какие символы сохранять, например, в utf8.
  7. Html нельзя - это язык описания страницы: какой элемент где расположен, какого он размера и цвета ... Для каких-то расчетов и сравнения правильный/ неправильный ответ нужно дополнительно использовать еще другой язык, позволяющий это сделать и перенаправить на другую страницу - php, javascript.
  8. Всем привет! Зачем нужно проверять логин и пароль? Что там может быть недопустимого? Какие символы неприемлемые в логине и пароле и почему? Даже если пароль пустой, разве это не личное дело пользователя?
  9. Понял. Нужно читать Аякс. Да, мне нужно, чтобы страница не менялась при авторизации. Потому что пользователь уже мог что-то там нащелкать на странице и отсылать его к исходной странице после авторизации неправильно.
  10. А вы можете подсказать, как сделать хоть что-нибудь на 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Как сделать, чтобы адрес оставался прежним и оставалась прежняя страница, если я ничего никуда не вывожу? Если в скрипте нет ни одной строчки, все равно появляется новая пустая страница.
  11. shrink - наверное, это сжимает или усекает. Работает min-width: 300px Ширина колонки устанавливается правильно и держится. А вот просто width: 300px; не работает, если другая колонка резиновая. Т.е. для flex это обязательное условие, чтобы задать ширину столбца в px. Для высоты, наверное, работает так же, позже мне придется это проверить.
  12. Все плохо. Как в том советском анекдоте, когда наука достигла невиданных высот и оживили Ленина. Ленин походил, посмотрел и велел оживить Дзержинского, оставил ему записку: "Феликс, начинаем все сначала. Явки по прежним адресам". Снова двухколоночный макет. У display:flex подтвердился глюк, который заподозрил еще раньше, но не знал как проверить. Собственно, вот беда: http://codepen.io/anon/pen/XmQbBq Задаем правой колонке ширину 300рх, а она меньше. Это видно по красному абсолютному блоку, у которого 300рх. Думаю, там пропорциональное уменьшение. Ширина левой задана 100%, чтобы она заняла все. Она же реально по отношению к родителю не 100%, а меньше на величину правой колонки. И правая колонка тоже пропорционально уменьшилась на такой же %. Как-то так. А блоками все хорошо. http://codepen.io/anon/pen/dYLMEx И с тех пор научился делать высоту 100%. Придется переделать макет блоками для соблюдения абсолютных размеров. Все благополучно решилось заданием min-width Оно работает.
  13. Q4Dizzy, благодарю. Теперь знаю что искать. Ухожу на неделю осваивать.
  14. Я везде там пощелкал по F12, но не понял где что можно смотреть и зачем это может понадобиться. Мне это пока не нужно. Мне уже нужно учиться работать с сервером. Объясните кто-нибудь, что означает вход пользователя на сайт с технической точки зрения. Пользователь ввел данные, их отослали на сервер, проверили, результат оказался false. Ответ с результатом пришел обратно. Что дальше? Этот результат записывается в глобальную переменную и потом, при кликах по некоторым объектам эта переменная каждый раз проверяется и при false соответствующие функции не запускаются? А если true то запустятся. Но переменные действуют в пределах страницы (документа, окна). А если будет открыто новое окно с новым документом, то значит нужно будет передать туда эту переменную. А как? Или при кликах по таким элементам каждый раз посылается запрос на сервер с каким-то идентификатором (может ip компа), на сервере определяется, что с этим идентификатором осуществлен вход и возвращается соответствующий ответ в зависимости от которого функции будут срабатывать или нет. Могу реально написать на php "Hello World". С этим уже можно начинать.
  15. Great Rash,спасибо большое. Я бы не додумался сам. Получается, что li состоит из 2-х элементов, но через li им можно задавать стили только совместно. До тех пор, пока одному элементу не задать position: absolute - тогда он становится сам по себе, как и любой элемент с абсолютным позиционированием. Т.е. before || after - это другой самостоятельный элемент внутри родителя, им можно управлять в какой-то мере.
  16. Помогите пожалуйста. Никак не могу сам справиться. Как сделать чтобы текст снизу не залезал под маркеры? http://codepen.io/anon/pen/pggKxw Если убрать из стилей все, что касается списка, то будет как надо. Но тогда не будет скобок. Можно сделать, чтобы и скобки были, и текст чтобы не вылезал?
  17. Расскажите, кто знает - как работает броузер с кэшем по изображениям? Если есть тег 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;}
  18. Не знаю, что делать вам, но могу сказать, что сделал я. У меня как раз обратная проблема. Я написал в техподдержку. Мне дали отлуп - хостинг бесплатный. Cпросите у своего хостинга возможны ли настройки. > Добрый день. > Я зарегистрировал хостинг на адрес igmar.hop.ru > В заголовке html странички у меня указано <meta charset="utf-8"> > но сервер отдает страничку с заголовком charset=windows-1251 > Можно ли поменять в настройках, чтобы сервер отдавал html-документ с заголовком > charset="utf-8" ? Сервер работает только с кодировкой cp1251 - единственным решением будет только перевод всех страниц в эту кодировку.
  19. Заголовок вашей страницы вверху и моей внизу. Сравните 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
  20. А как узнать размер резинового Div в максимизированном окне? Мне нужно узнать его размер только 1 раз и запомнить, чтобы потом сравнивать с размером картинок. Текущий размер я могу узнать var t=document.getElementById('box1');alert("Размер элемента:" + t.offsetWidth + "-" + t.offsetHeight);Но в этот момент окно может быть не макс размера, соответственно, размеры блока тоже не его максимальные. А мне нужны его макс размеры. Нужно максимизировать окно и прочитать размеры блока? Или есть другой способ узнать его исходные размеры?
  21. Да, я уже догадался. Внутрь функции вставил установку картинки. Работает. imgtmp.onload = function(){imgwidth=imgtmp.width; imgheight=imgtmp.height;var surl="url(" + this.src + ")";document.getElementById('box1').style.backgroundImage = surl; alert(imgwidth + " ! " +imgheight);}
  22. Подскажите как дождаться загрузки картинки. Нужно получить ее размеры. Сделал так. По окончании загрузки пишу их в глобальные переменные, которые потом прочитаю. 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);Работает, но почему-то долго. Как нормально решить эту задачу?
  23. Так и должно быть. Когда список делаете, всегда его пункты сдвинуты вправо. Это у вас сдвинут внутренний UL (его LI). Задайте ему ; или position:relative; left:-10px. Значение сами подберете. Если сильнее нужно выдвинуть - наоборот, побольше значение. Не пропечатывается вначале, какой-то глюк марджин-лефт:-10px; вот так, даже значение угадал: .vert_nav_area li ul{марджин-лефт:-10px;}
  24. Добрый день. Кирпич вертикального меню я сделал. http://codepen.io/anon/pen/RrPNPe Теперь мне надо вернуться доделать картинки. Мне нужно определить размеры картинки и в зависимости от них задать background-size: contain ; или background-size: auto ; Вопрос. Чтобы узнать размер картинки, нужно ее сначала загрузить? А потом, прочитав ее размер, возможно, поменять свойство? Или можно прочитать ее размер сначала по url и это тоже будет быстро? А потом уже загрузить. Как быстрее?
  25. Этого недостаточно, что вы ее прописали в заголовке. Сервер отдает страницу по своим настройкам, а не по вашим. В гугле наберите "как узнать кодировку страницы" или "заголовок html" - как-то так. По ссылкам найдете сервисы. Там введете адрес своей страницы и увидите в какой кодировке ее отдает сервер, точнее, какую кодировку он прописывает в заголовке - точно будете знать. И она, наверное, такая AddDefaultCharset UTF-8. Надо поменять.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy