Оптимизация графики для retina-экранов

Choose a Bug Report

The bugs.webkit.org database is the central point of communication for contributions to WebKit. Nearly every contribution corresponds to a bug report there. Note that WebKit uses bug reports to track all types of code changes and not just bug fixes. Choose a bug report to work on. You can also create a new report. Be sure to search the database before creating new reports to avoid duplication. After choosing a bug report, follow the WebKit bug life cycle guidelines for the report. For example, it is often good practice to comment in a report if you are working on that issue. If your change may be controversial, you may want to check in advance with the webkit-dev mailing list.

CoolNovo

Главной особенностью ChromePlus, благодаря которой он и стал популярен три года назад, являлся модифицированный код, позволяющий использовать полноценные блокировщики рекламы. Оригинальный Chrome поначалу и был отвергнут большинством пользователей именно в связи с отсутствием нормальной альтернативы AdBlock.

В ChromePlus блокировщик рекламы встроен непосредственно в браузер и поддерживает черные списки в формате AdBlock.

Полноценные блокировщики рекламы уже давно портированы в Chrome, но у CoolNovo есть и другие особенности.

Поддержка жестов мышкой до сих пор актуальна, поскольку расширения для Chrome не обеспечивают такого же удобства работы. Например, в Chrome иногда происходят «холостые выстрелы», жест не отрисовывается и не распознается (особенно после определенной паузы в использовании). Рендеринг линий также нередко происходит рывками и с задержкой, что усложняет рисование правильных жестов. Но самое главное отличие заключается в том, что жесты CoolNovo работают даже на технических страничках, там, где Chrome их не поддерживает (например на странице «404», на новой вкладке или вкладке с настройками браузера).

Плавная прокрутка до сих пор не реализована в Chrome и для нее нужно использовать дополнение, в то время как в CoolNovo она была с самого начала.

Браузер использует сразу два движка (WebKit и Trident). Если появляется необходимость посмотреть на страницу, отрендеренную в Internet Explorer, то это можно сделать нажатием одной кнопки в адресной строке. CoolNovo при этом синхронизирует cookies между двумя движками, что позволяет просматривать страницу, не авторизуясь на сайте заново.

SuperDrag упрощает работу с браузером на ноутбуках. Если потянуть на странице ссылку, изображение или выделенный текст, то они откроются в новой вкладке. Другими словами, SuperDrag — это замена средней кнопки мышки, которой на тачпаде нет.

Официально Google даже сейчас не предоставляет portable-сборок своего браузера, в то время как CoolNovo всегда распространялся как в виде установщика, так и portable-архивом.

Из менее значительных особенностей можно перечислить также:

— Удобное восстановление закрытых вкладок. — Сворачивание браузера в System Tray (настраивается). — Закрытие вкладок по двойному клику на табе (опять же удобно на ноутбуках без средней кнопки мышки). — Возможность спрятать крестик на вкладке, чтобы освободить место для имени сайта. — Удаление закладок в корзину. — Наличие боковой панели, на которую можно выводить некоторые расширения — Boss key (для быстрого сворачивания браузера). — Дополнительные горячие клавиши. — Возможность прямо из браузера удалить на диске любой скачанный файл — Индикатор скорости загрузки (КБ/c) на панели скачивания.

Несмотря на то что CoolNovo является одним из самых популярных браузеров на WebKit, в последнее время он начал потихоньку сдавать свои позиции. Связано это с отсутствием регулярных обновлений (последняя версия выпущена еще в конце марта). На текущий момент ситуация еще не критическая, но между Chrome и CoolNovo уже накопилась разница в четыре версии (в CoolNovo используется код Chromium 17, а последняя версия Chrome — 21) и небольшое промедление может отправить CoolNovo в музей исторических экспонатов.

Future Directions

Serving and rendering wide-gamut images is relatively straightforward, but what about if you want to combine it with other page elements like a background color, or paint the image into a element? These are some of the challenges the standards bodies are grappling with, and I’d like to talk about where they’re going.

Wide-gamut colors in CSS

I showed above that in Display P3 is in sRGB. What can you do if you want a color defined in CSS to match something inside a wide-gamut image? We can’t yet specify those colors in CSS.

This is what members of the WebKit project have proposed for CSS. The current idea is to add a new function called that can take a color profile as well as the parameters defining the color.

In practice, you’d probably use this with an rule.

Note: I originally had a bad typo, showing the syntax as . This is one of the annoyances of the existing function. The new function will take floating point numbers as parameters, not 8-bit integers.

CSS will define some known color profile names, so you can easily find the color values you want. There is still some discussion about allowing authors to link to external profiles, or maybe point at an image that has an embedded profile.

In addition, CSS might decide to allow you to specify values outside 0-255 (or 0-100%) in the existing function. For example, would be a color that has more red, less green and a tiny touch of blue. The problem here is that it might be confusing to understand these values (what does it mean to be a negative green?).

Another suggestion is to be able to define a color space for the entire document, which would mean that all the regular CSS color values would be interpreted in that space. External images with embedded profiles would still be color matched.

WebKit hopes to implement these features as soon as we’re confident they are stable.

Wide-gamut colors in HTML

While CSS handles most of the presentation of an HTML document, there is still one important area which is outside its scope: the element. Both 2D and WebGL canvases assume they operate within the sRGB color space. This means that even on wide-gamut displays, you won’t be able to create a canvas that exercises the full range of color.

The proposed solution is to add an optional flag to the function, specifying the color space the canvas should be color matched to. For example:

There is something else to consider, which is how to create a canvas that has a greater color depth. For example, in WebGL you can use half-float textures that give you 16 bits of precision per color channel. However, even if you use these deeper textures inside WebGL, you’re limited to 8 bits of precision when you paint the WebGL into the document.

There needs to be a way for the developer to specify the depth of the color buffer for a canvas element.

This gets more complicated when combined with the / functions (or the equivalent in WebGL). With today’s 8 bit per channel buffers, there is no loss of precision going into and out of a canvas. Also, the transfer can be efficient, both in performance and memory, because the canvas and program side data are the same type. But when you have variable color depths, this might not be possible. For example, WebGL’s half float buffer doesn’t have an equivalent type in JavaScript, which means there will either have to be some transformation as the data is read or written, as well as use more memory to store the data, or you’ll have to work with a raw ArrayBuffer and do awkward math with bit masks.

These discussions are currently happening on the WhatWG github and soon at the W3C. Again, we’d love for you to be part of the conversation.

Судьба Modest

Кто-то из читателей, возможно, знает, что я занимаюсь разработкой браузерного движка. В моих публикациях можно найти предыдущие статьи на эту тему.

К сожалению, проект Modest пришлось завершить. Какое-то время проект развивался в компании, в которой я раньше работал. Мне пришлось покинуть компанию. Появились разногласия которые не позволили продолжить разработку проекта. Обычный рабочий процесс, такое бывает.

Не смотря на то, что у меня есть все права на Modest, на код никто не претендует (подписаны бумаги), я решил его «закопать». Чтобы ни у кого не возникало ложных ощущений. Тут надо понимать, что закапывается и весь основной код который развивался вне компании (mycore, myhtml). Но, есть и плюс, возможно, я стал чуть умнее.

Мной было потрачено очень много времени на изучение спецификаций, осознания их, поиск оптимальных алгоритмов, написание черновиков (прототипов), создание myhtml (самый быстрый парсер html) в свободное от работы время, и просто так забросить эту тему я пока не могу. Было потрачено много выходных, праздников, вечеров, ночей.

Теперь я занимаюсь разработкой нового браузерного движка. Разработка с ноля. Имени у него пока нет, только кодовое — lexbor. Вся основа уже написана: работа с памятью, общие алгоритмы, заложена будущая архитектура. Как всегда, всё краше и лучше чем было. В общем, у меня есть самое главное: технология и чёткое видение/понимание как и что развивать.

Одному мне такой проект не потянуть. Если поддержки не найду (финансирования) то прекращу разработку и присоединюсь контребьютером к существующему открытому движку (Blink или Gecko). Попробую побыть там волонтером и реализовать свои идеи. Занимаюсь всем этим исключительно в нерабочее время.

Тут видимо должна быть картинка «ты должен был бороться со злом, а не примкнуть к нему».

Спасибо за внимание!

P.S.: Все ошибки в личку или считать авторским стилем.

Оформляем обратную сторону

И в этот раз привожу только то, что считаю нужным для этого примера:

#container{
    height: 360px;
    width: 620px;
    position: relative;
    -webkit-perspective: 500;
}
.block {
    position: absolute;
    height: 260px;
    width: 320px;
    left: 50px;
    top: 50px;
    -webkit-transform-style: preserve-3d;
    -webkit-transition: -webkit-transform 1.5s;
}
.rotated{
    -webkit-transform: rotateY(180deg);
}
.side{
    position: absolute;
    -webkit-backface-visibility: hidden;
    -webkit-box-shadow: 0 2px 5px #666;
}
.front{
    height: 260px;
    width: 320px;
}
.back{
    height: 280px;
    width: 180px;
    padding: 10px;
    -webkit-transform: rotateY(180deg);
}

Свойства Webkit, которые мы использовали в этом примере:

-webkit-perspective: позволяет поместить элемент в 3D пространстве. Иначе противоположная сторона будет похожа на горизонтальный фрагмент. Используется только в перечисленных целях.

-webkit-transform-style: позволяет производить различные операции над элементом, который находится в 3D пространстве. Это свойство больше всего необходимо, если вы хотите создать что-то наподобие третьего примера.

-webkit-transition: позволяет использовать анимацию для получения обратной стороны карты. Классно? Ещё бы! Другим способом у нас просто не получится переключиться между передней и задней сторонами краты.

-webkit-transform: элементарное свойство, предназначенное для вращения карты.

-webkit-backface-visibility: это свойство скроет заднюю сторону, когда перед нами передняя сторона, и переднюю сторону, когда перед нами задняя сторона. В этом примере без этого просто никак.

Color-matching Images

We mentioned above that the Web is defined to use sRGB. WebKit/Safari on Mac has operated in this color space for a number of years now, meaning you’d get consistent colors across different displays (at the time of writing, most other browser engines just operate in what’s called the device color space, which means they don’t process the color values before passing them on to the display hardware).

WebKit color-matches all images on both iOS and macOS. This means that if the image has a color profile, we will make sure the colors in the image are accurately represented on the display, whether it is normal or wide gamut. This is useful since many digital cameras don’t use sRGB in their raw format, so simply interpreting the red, green and blue values as such is unlikely to produce the correct color. Typically, you won’t have to do anything to get this color-matching. Nearly all image processing software allows you to tag an image with a color profile, and many do it by default.

With the examples linked above, you’re seeing this color-matching in action on Safari from OS X 10.11.3 and above, as well as iOS 9.3 and above (Retina devices). All I had to do was make sure that the images had been tagged with the appropriate color profile.

If an image doesn’t have a tagged profile, WebKit assumes that it is sRGB. This makes it easy for your generated artwork, such as border and background images, to match what you have defined in CSS. That is, a CSS value of would match the corresponding full sRGB red value.

Note: This was another point that provoked some comment, with some suggesting an untagged image should not be assumed to be sRGB. The reason we do this is explained above: it’s to make sure that colors in the image match the CSS colors in the page.

That’s ok for the display technology from the last decade. But now that we have displays that support a wider gamut, you’ll want more control over how your content is shown.

Эпидемия у компьютеров Apple: Владельцы MacBook жалуются на «жесткое» зависание системы

Техника

17.05.2016, Вт, 08:45, Мск , Текст: Сергей Попсулин

На интернет-форумах накопилось большое количество жалоб от владельцев ноутбуков Apple на регулярные зависания операционной системы El Capitan, которое, как правило, начинается с Safari. Сначала перестает отвечать браузер, а затем — и другие приложения друг за другом. Спасает только «жесткая» перезагрузка.

Сотни жалоб на зависание Safari

Сотни владельцев Apple MacBook Pro пожаловались на регулярные зависания после установки обновления 10.11.4 для операционной системы OS X El Capitan. Своими впечатлениями они поделились на многочисленных интернет-форумах. Так, например, беседа, посвященная этой проблеме на форуме MacRumors, на момент публикации этого материала состояла из 25 страниц и 614 записей. Вчера, 16 мая 2016 г., Apple выпустила обновление 10.11.5, но оно не решило проблему, утверждают пользователи.

Что именно зависает

Как правило, зависание происходит в Safari в тот момент, когда пользователь просто работает в браузере. Оно может произойти в любой момент — при нажатии на ссылку, при смене вкладки, при возврате на предыдущую страницу и т. д. После зависания Safari начинают «падать» другие приложения. В конечном счете пользователю не удается вернуть контроль над системой, и единственным выходом остается жесткая перезагрузка (удерживанием кнопки питания).

Пользователи отмечают, что с Chrome подобных проблем не имеют. Таким образом, напрашивается вывод, что проблема заключается в Safari.

Не решенная проблема

Стоит отметить, что проблема с Safari присутствовала с самого первого выпуска El Capitan в сентябре 2020 г., убедиться в чем редакция CNews могла на собственном опыте, при работе на MacBook Air.


Сотни владельцев MacBook Pro обсуждают возможные причины регулярных зависаний

После чистой установки El Capitan компьютер стал работать быстрее, но затем, спустя примерно 10 дней, начали происходить регулярные зависания, которые начинались с Safari. Это неоднократно приводило к потере написанных текстов, так как вслед за Safari «падали» и другие приложения. Восстановить работу удавалось только после жесткой перезагрузки.

В конечном счете было решено откатиться до операционной системы предыдущего поколения — Yosemite, — в которой проблем нет.

Добавим, что на официальном интернет-форуме можно найти с десяток обсуждений, посвященных зависанию Safari. Некоторые из них существуют не первый и не второй месяц (в общей сложности более 3 тыс. результатов при поиске на официальном форуме).

Низкий рейтинг El Capitan

Большое количество жалоб самого разного плана на операционную систему El Capitan можно прочесть в фирменном магазине Mac App Store.

Что характерно, совсем недавно при взгляде на суммарный балл El Capitan можно было увидеть, что он был ниже трех из пяти. Сейчас же средний балл равен 3,5 из пяти. Дело в том, что Apple в своем магазине в первую очередь отображает средний балл последней версии системы текущего поколения. А последней версией на данный момент является 10.11.5. К ней оставлено всего семь оценок и пока нет ни одного комментария.

Проблемы с iOS

Тем временем некоторые владельцы iPad жалуются на то, что обновление до iOS 9.3.2, которое вышло 16 мая 2020 г., превращает их планшет в «кирпич». После того как устройство перезагружается, выходит ошибка Error 56, и с планшетом уже ничего нельзя сделать. Подключение к ПК и попытка реанимировать его через iTunes к успеху тоже не приводят. Описание ошибки на сайте Apple говорит о том, что проблема возникает, когда устройство не проходит проверку безопасности (неправильная работа Touch ID).

Лучшие тарифы на выделенные серверы Dedicated на ИТ-маркетплейсе Market.CNews

  • Короткая ссылка
  • Распечатать

Компоновка двигателей

  • Gecko разработан Mozilla Foundation .
  • Goanna — это форк Gecko, разработанный Moonchild Productions.
  • KHTML разработан проектом KDE .
  • Presto был разработан Opera Software для использования в Opera . Разработка остановилась, когда Opera перешла на Blink.
  • Tasman был разработан Microsoft для использования в Internet Explorer 5 для Macintosh .
  • Trident разработан Microsoft для использования в версиях Windows от Internet Explorer 4 до Internet Explorer 11 .
  • EdgeHTML — это движок, разработанный Microsoft для Edge . Это в значительной степени переписанный форк Trident, в котором удален весь унаследованный код.
  • WebKit — это форк KHTML от Apple Inc., используемый в Apple Safari , а ранее в Chromium и Google Chrome .
  • Blink — это форк компонента WebCore от Google в 2013 году, который используется в Chromium, Google Chrome, Microsoft Edge, Opera и Vivaldi .
  • Servo — это экспериментальный механизм компоновки веб-браузера, который совместно разрабатывают Mozilla и Samsung.

Staying in Touch

Before getting in touch with WebKit developers using any of the avenues below, make sure that you have checked our page on how to ask questions about WebKit..

Slack

You can find WebKit developers, testers, and other interested parties on the #WebKit Slack workspace. Use the button below to register an account and join the discussions on Slack.

Mailing Lists

There are a number of mailing lists for WebKit related topics. Archives for all the lists as well as information on joining them are available on the individual list page.

  • For requests for help related to using WebKit, direct it to webkit-help. Most questions will go to this mailing list. Usual topics include how to build WebKit, how to use WebKit’s APIs, how to embed WebKit, and how to port WebKit.
  • For WPE
    specific discussions use webkit-wpe.
  • For WebKitGTK+ specific discussions use webkit-gtk.
  • If you are looking for or have a WebKit-related job, post it to webkit-jobs.
  • Discussion of the WebKit project’s development happens on webkit-dev. If you do not intend to contribute patches to WebKit, you should direct your questions to webkit-help.
  • Notification of review requests are sent to webkit-reviews. Bugzilla automatically notifies this list of all patches awaiting review. Subscribe to it if you are a WebKit reviewer or just want to follow along.
  • New repository commit information is automatically sent to webkit-changes. Subscribe and stay abreast of the latest changes.
  • New bugs are assigned to the webkit-unassigned by default, which is notified of the new bugs, as well as their updates and changes.
  • If you would like to discuss development of applications using WebKit on OS X or iOS, the right place is the Apple Developer Forums.

Other Useful Info

Trac Want to know more about what we’re up to? Check out WebKit Trac where you can browse the source and see our changes.

Build Bot Another way to see the current state of things is our build bot. This build system helps us identify build and test case failures fast, and as such is invaluable to us.

Как использовать префиксы?

Рассмотрим в качестве примере следующий код:

* {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}

Данный код применяет свойства CSS, которые изменяют алгоритм расчёта ширины и высоты для всех элементов веб-страницы. Первое CSS свойство со значением предназначено для браузеров, использующих движок (Safari) или (Chrome, Opera, Яндекс.Браузер). Второе CSS свойство со значением предназначено для браузеров, использующих движок (Mozilla Firefox). Последнее CSS свойство предназначено для браузеров, в которых это свойство уже протестировано и внедрено в соответствии со стандартом.

При использовании префиксов для свойств CSS, необходимо помнить, что их следует располагать до свойства CSS без префикса

Почему это так важно? Это важно потому, что если когда-то в браузере будет реализовано оригинальное свойство (без префикса), то будет использоваться именно оно (т.к. оно располагается последним), а не его экспериментальная версия

Например: применение свойства CSS ко всем элементам веб-страницы в браузере Google Chrome версии 40.

На рисунке выше видно, что оригинальное свойство уже внедрено в этот браузер, и из-за того, что оно располагается последним, браузер использует именного его, а не вышеприведенное свойство .

Comodo Dragon

Немного странный браузер от Comodo. Появился несколько лет назад, но на домашней странице до сих пор нет внятной информации, чем же он отличается от Chrome. Из того, что удалось выяснить, в браузере сделано буквально несколько изменений с целью повышения безопасности.

Во время инсталляции можно согласиться на использование сервиса Comodo SecureDNS, после чего браузер будет отправлять все запросы через этот безопасный интернет-сервер, где блокируются все опасные сайты, а также якобы повышается скорость преобразования доменов в IP-адреса.

Браузер также проверяет SSL сертификаты и выводит статус проверки в углу безопасных страниц.

Немного изменен и интерфейс: используется нестандартная цветовая гамма и слегка модифицированы кнопки управления окном.

С учетом того, что серьезных обновлений в Comodo Dragon нет, и обновляется браузер по сравнению с Chrome с некоторой задержкой (сейчас доступна версия на базе Chromium 19) необходимость в этом веб-обозревателе у обычных пользователей остается под вопросом.

Text Editors

All applications in this section use WebKit to preview web pages produced in the text editor.

BBEdit — Bare Bones

  • Commercial
  • Mac (PPC)

​BBEdit is a leading professional HTML and text editor for the Macintosh. Specifically crafted in response to the needs of Web authors and software developers, this award-winning product provides a plethora of features for editing, searching, and manipulation of text.

Features including grep pattern matching, search and replace across multiple files, function navigation and syntax coloring for numerous source code languages, FTP and SFTP open and save, AppleScript, Perl and Mac OS X Unix scripting support, glossary support, and a complete set of HTML tools.

CreaText — Marius Soutier

  • Open Source (GNU GPL)
  • Mac (PPC)

​CreaText is an HTML text editor with some basic and advanced features. CreaText features include tag colouring, easy access to Mac browsers, the change of special characters into HTML entities in realtime, an Insert menu with rapid access to all usual HTML commands, an HTML colour chooser, drag & drop, and the possibility to setup HTML parameters when creating a new document.

Smultron — Peter Borg

  • Open Source (GNU GPL)
  • Mac (PPC)

​Smultron is an open-source text editor written in Cocoa for Mac OS X. It features easy selection of the opened documents, line numbers, support for syntax colouring for many different languages, support for text encodings, code snippets, a toolbar, HTML preview, multi-document find and replace with regular expressions, possibility to show invisible characters, authenticated saves, command-line utility and .Mac synchronisation of preferences.

SubEthaEdit — TheCodingMonkeys

  • Freeware (Commercial if for commercial use)
  • Mac (PPC)

​SubEthaEdit is a powerful and lean collaborative text editor. It combines the ease of Bonjour with a powerful text collaboration engine, to enable multiple users to co-operate on one document. SubEthaEdit has won many awards including an Apple Design Award for best student product, and an Mac OS X Innovators Award from O’Reilly.

Taco HTML Edit — Taco Software

  • Freeware
  • Mac (PPC)

​Taco HTML Edit is a full-featured HTML and PHP editor. It has features including spell checking, live browser previewing, PHP previewing and syntax checking.

TextMate — MacroMates

  • Shareware
  • Mac (PPC)

​TextMate attempts to bring Apple’s approach to operating systems into the world of text editors. By bridging UNIX underpinnings and GUI, TextMate cherry-picks the best of both worlds to the benefit of expert scripters and novice users alike. TextMate includes features like tabs, foldings, and macros.

Colors on the Web

The Web has often struggled to handle colors correctly. I’m sure there are some readers out there who painfully remember ! While we’ve moved on from that, we still have limitations, such as HTML and CSS having been defined to work only in the sRGB color space. Just like the example of hober‘s shoes above, this means there are many colors that your CSS, images, and canvas are unable to represent. This is a problem if you’re trying to show your family the spring flowers blooming in your garden, or shopping for a bright red sports car to help with your mid-life crisis.

So when we showed the photograph of the shoes above, an sRGB display squished all the colors outside the sRGB gamut into colors that it could show. But a display with a wider gamut such as Display P3 didn’t need to squish into sRGB. Here’s a visual representation showing the difference between sRGB and the Display P3 color space.

The colored triangle is the sRGB space. The white triangle shows the coverage of the Display P3 space, significantly bigger than sRGB, particularly in the more saturated reds, yellows, purples and greens. The black outline shows the ability of the typical human eye.

Remember the red square with the faint WebKit logo? That was generated by creating an image in the Display P3 color space, filling it with 100% red, , and then painting the logo in a slightly different red, . On an sRGB display, you can’t see the logo, because all the red values above 241 in Display P3 are beyond the highest red in sRGB, so the 241 red and the 255 red end up as the same color.

Note: I saw a bit of confusion about this on Twitter, so let’s try an alternate explanation. Basically, all the fully red values between 241/255 and 255/255 in the Display P3 color space are indistinguishable when shown in sRGB. This doesn’t mean that a 241 red from Display P3 is the same as a 255 red in sRGB – unfortunately, it’s not quite that simple and I don’t want to get too detailed in this introductory article. For those who are interested, on macOS there is an app called Color Sync Utility that allows you to convert between color spaces in different ways, as well as comparing gamuts.

So now you understand why you should be aware of color, and that you should use this technology to give users a better experience. That’s the background — let’s talk about what this means for WebKit.

Для чего нужен и из чего состоит User Agent?

Все браузеры, мобильные устройства, поисковые роботы содержат Юзерагент. В строке отображается вся необходимая информация о компьютере или телефоне, версии браузера, операционной системе, роботе.

Так же строки с описанием User-agent можно прописать в файле Robots.txt, они важны для корректной работы поисковых роботов на сайте. Посредством строк, от всех либо от определенных поисковиков можно скрыть данные, содержащиеся на ресурсе: конкретную страницу либо сайт целиком, определенный вид файлов, личные данные пользователей и прочее. Так, с помощью User-agent, вы можете скрыть, например, только картинки, либо открыть для индексации исключительно их.

Запретить сканировать информацию можно посредством инструкции либо всем ботам, либо роботу конкретного поисковика, распознающегося User Agent.

В строке с описанием User Agent содержится следующая информация:

  1. Название и версия браузера.
  2. Язык.
  3. Версия операционной системы.
  4. Программное обеспечение, установленное на используемом устройстве.
  5. Тип устройства, с которого пользователь зашел на сайт.

Менять Юзерагент можно с целью изменения параметров индексации ресурса, скрытия информации, которую не стоит показывать посторонним лицам, и актуализации старого браузера, чтобы больше не получать уведомления о необходимости установки другого приложения.

Для каждого браузера и операционной системы устройства в строке прописываются разные инструкции.

Оцените статью
Рейтинг автора
5
Материал подготовил
Андрей Измаилов
Наш эксперт
Написано статей
116
Добавить комментарий