Jump to content

freeneutron

User
  • Posts

    203
  • Joined

  • Last visited

Everything posted by freeneutron

  1. Раскрутка сайта не удалась FAIL В Опере, если у инпута стоит атрибут disabled, то данные с этого инпута не идут в запрос. Надо быть с этим осторожным.
  2. Думаю, данный эффект возникает тогда, когда все статичные элементы (в данном случае шапка и левая колонка) размещены в первых 4 Кб получаемого от сервера html-кода. Браузеры обычно не обновляют рабочую область до тех пор пока не получат 4 Кб html-кода (установлено экспериментально для Оперы, Хрома и Мазилы) или пока не пройдет некоторый интервал времени после первого ответа сервера. Так что, если мы хотим получить такой эффект, то мы должны: 1. Впихнуть все статичные элементы в первые 4 Кб html-кода 2. Не позволять серверу отвечать до тех пор пока объем буфера ответа не достигнет 4 Кб Подчеркну, что это всего лишь моя догадка
  3. Полазил по одному сайту и вот на что обратил внимание. Там при переходе со страницы на страницу, длительность загрузки может составлять до 2-х секунд, но при этим шапка и левая колонка даже на миг не пропадают с экрана. Обычно, на других сайтах, в такой момент старая страница пропадает, а новая появляется в нескольких разных вариантах, соответствующих разному объему загруженной информации. Количество этих вариантов зависит от продолжительности загрузки и частоты обновления рабочей области браузера. Здесь же вариации испытывает только содержимое центрального, блока. Я сначала было подумал AJAX, но приглядевшись к коду, понял, что это чистый HTML. И суть эффекта, таким образом, осталась для меня загадкой. Кто-нибудь понимает, в чем здесь фишка?
  4. Вопрос в том, на какое событие лучше всего прицепить ajax-запрос, сообщающий серверу, что пользователь воспользовался кнопками браузера back, foward?
  5. Спасибо всем, кто отозвался. Да, без регулярных выражений здесь не обойтись. Но тогда почему бы не использовать их на всю катушку? У меня есть подозрение, что любой CSS-селектор можно конвертировать в соответствующее регулярное выражение, которое бы и справлялось с моей задачей. Тогда искомая функция упростится до безобразия: function is_match($str,$selector){ $selector=css2preg($selector); return preg_match($str,$selector); }А вся логика перейдет функцию конвертирования CSS-селектора в регулярное выражение: function css2preg($selector){ //Поиск имен тегов (div, span) и приведение их к виду: (<div, <span) $selector=preg_replace('/(^| )([^.# ]+)/','$1<$2[^<]+',$selector); //Поиск имен классов и приведение их к виду: class="" $selector=preg_replace('/\.(\S+)/','class="[^"]*$1[^"]*"',$selector); //Поиск имен идентификаторов и приведение их к виду: id="" $selector=preg_replace('/\#(\S+)/','id="[^"]*$1[^"]*"',$selector); //Поиск пробелов и замена их на символы произвольного расстояния: .* $selector=preg_replace('/ /','.*',$selector); //Поиск символов > и замена их на соответствующее выражение $selector=preg_replace('/>/','[^>]*>[^>]*',$selector); //echo"$selector\n"; return $selector; }Если имеем CSS-селектор: div.bb span.a b.ad span То на выходе будем иметь: <div[^<]+class="[^"]*bb[^"]*".*<span[^<]+class="[^"]*a[^"]*".*<b[^<]+class="[^"]*ad[^"]*".*<span[^<]+ Как видно для каждой синтаксической конструкции можно подобрать соответствующее правило преобразования. Здесь остается подобрать правила: для замены символа * для выражений в квадратных скобках и (если я ни чего не забыл) для сброса псевдоклассов (:active и тп) Если все это учесть, то останется еще две проблемы: 1. css2preg() не сможет правильно обрабатывать последовательности типа: .class1.class2#id1#id2 2. Как на полученные регулярные выражения будет реагировать preg_replace() не известно, то есть надо еще тестировать и подгонять. На все это нужно время и усилия, поэтому опять же хотелось бы найти что-то готовое, и надеется на то, что оно где-то есть. Набирая в поисковике запрос: css to preg, не получаю ни чего вразумительного. Возможно, то, что мне нужно скрывается под каким-то хитрым запросом, только ни чего больше не приходит пока на ум. Поэтому, если у кого будут какие соображения, пишите, буду рад...
  6. Решаю задачу установления соответствия произвольного CSS-селектора произвольному тегу некоторого HTML-кода. То-есть, если для некоторого HTML-кода составлен такой список, <html> <html><head> <html><head><title> <html><body><div id='main'> <html><body><div id='main'><div id='header'> <html><body><div id='main'><div id='content'> <html><body><div id='main'><div id='footer'>что каждому тегу данного HTML-кода в этом списке соответствует строка, состоящая из самого тега и всех его родительских тегов, и если есть некоторый CSS-селектор, например: "#content", то моей задачей является составление (или отискание) функции is_match($string, $css) такой, которая для каждой сроки из упомянутого списка и произвольного CSS-селектора устанавливала бы их соответствие и возвращала бы true в случае соответствия и false в противном случае. Например: is_match('<html><body><div id='main'><div id='content'>', '#content') возвращает true is_match('<html><body><div id='main'><div id='header'>', '#content') возвращает false Кто сталкивался с чем-то подобным, или есть какие-то соображения по поводу решения задачи, пишите. Очень хотелось бы все это обсудить.
  7. Ну ты чего-то намутил с strstr и explode. Попробуй использовать preg_match
  8. Я сначала думал это касяк Оперы. Но оказалось, это и в Хроме и в Фаерфоксе тоже происходит.
  9. Вот страница, о которой речь. Когда я ее переделываю и обновляю в браузере, картинка с девочкой, с эблемой на груди отображается довольно нелепо, так словно скрипт, отвечающий за загрузку картинки думает, что высота последней = 0. Эмблема должна размещаться в центре подложки, то есть на груди у девочки, но она оказывается у нее над головой. Если еще раз обновить страницу, то эффект пропадает. Теоретически из-за чего такое может происходить?
  10. Помню русская часть одного многоязычного сайта состояла из таких символов. Из-за чего на нем ни чего из русского нельзя было найти в поисковиках. Английский же язык нормально отыскивался через Яндекс и через Гугл. Так вот хотелось бы избежать подобных проблем на своем сайте. Ну и так для общего развития, просто интересно.
  11. А у меня проблема в том, что не представляю как \uXXXX-символы преобразовать в utf-8 на стороне JavaScript. Подскажите, кто в курсе, плиз...
  12. Есть пример из трех дивов <div id='a1'> a1 </div><br> <div id='a2'> a2 </div><br> <div id='a1 a2'> a1 a2 </div><br> Как должен выглядеть селектор, если требуется обратиться третьему диву, не затрагивая 1-и и 2-й? Такой селектор почем-то не работает .a1 a2
  13. JQuery это делает просто $('.class1').each(function(){this.checked=true;});
  14. <script>for(i=0;i<count(arr);i++)document.write(arr+'<br>')</script>
  15. А я выгуглил только посимвольный перебор. PS. Эх, как классно было бы, если бы JavaScript был таким же послушным, как и php.
  16. А можно имя функции для исключающего или?
  17. Возьмем побитовую операцию - Побитовое исключающее ИЛИ В php код: $s='aaaa'^'abab'; echo strlen($s); дает 4 В то врема, как в JavaScript код: s='aaaa'^'abab'; alert(s.length); дает undefined Видно, что функциональность JavaScript в этом отношении ограничена по сравнению с php. И напрашивается вопрос. Есть ли в JavaScript аналог php-побитовых операции?
  18. Придумал! Надо кнопку вызывающую UpldFile(f) обернуть в тег <a href='' id='h1'>...</a>, а сама функция должна выглядеть так: function UpldFile(f){ $('#h1').attr('href','file.php?file='+f); alert('Data send'); }
  19. И у меня такая же проблема А самый прикол в том, что по запросу JQuery download выдаюдся ссылки на скачивание библиотеки, не на обсуждение проблемы...
  20. В Опере 10 @font-face опять появился Источник
  21. Я хочу опубликовать djvu-документ с формулами, картинками и скрытым текстом в html-формате. Да так, что бы скрытый текст индексировался поисковиками. FineReader не может качественно отделить текст от формул, поэтому для лучшего вида надо делать 2 слоя, а может и 3, как в djvu (текст, полутоновое изображение, цветное изображение). А как еще опубликовать отсканированную книгу, если она большая?
  22. Спасибо за ответы. Но тогда вопрос, как сделать текст невидимым на фоне изображения, но видимым в момент выделения?
×
×
  • 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