Поширені запитання для веб-розробників

Вступ

  1. Які можливості надає Google Chrome?
  2. Де знайти відомості про інші переглядачі?

Агент користувача

  1. Як виглядає рядок агента користувача в Google Chrome?

Мовне кодування

  1. Неправильне відображення символів у Google Chrome
  2. Опис кодування за допомогою JavaScript (document.write) не працює
  3. Замість двох символів китайською мовою в Google Chrome відображаються символи "%B1%C1%C3%E5"

Сценарії та веб-програми

  1. Елемент керування ActiveX не завантажується
  2. Неналежне функціонування JavaScript

Візуалізація та поведінка переглядача

  1. Відображення веб-сайту в Google Chrome відрізняється від Internet Explorer
  2. Як випробувати веб-сайт у Google Chrome?
  3. Характеристики шрифту в зовнішніх таблицях стилів не працюють
  4. Спливаючі вікна веб-сайту не відображаються в Google Chrome
  5. Замість замка в захищеному SSL веб-сайті в Google Chrome відображається знак оклику
  6. У Google Chrome не підтримується база даних API HTML5
  7. Як налаштувати зовнішній вигляд і функціонування ярликів Google Chrome, які вказують на мою сторінку?
  8. Яким чином на веб-сторінці можна відкрити нову вкладку в межах окремої операції?
  9. Як вимкнути миттєве завантаження URL-адрес мого веб-сайту у функції Chrome Instant?

Пошук

  1. Введення адреси веб-сайту інтрамережі переадресовує на сторінку результатів пошуку, а не на веб-сайт інтрамережі
  2. Як включити пошук на сайті в параметри пошуку Google Chrome?

Вступ

1. Які можливості надає Google Chrome?

Google Chrome має багато функцій, які веб-майстри можуть налаштувати відповідно до потреб користувачів. У Google Chrome вбудовано програму Gears, яка дозволяє веб-майстрам використовувати різні API, наприклад, автономне сховище. Окрім цього, веб-програми в Google Chrome можуть функціонувати як програми "для роботи на комп'ютері", оскільки деякі користувачі запускають Google Chrome у режимі мінімалістського інтерфейсу користувача, у якому відображається лише рядок заголовка.

Також Google Chrome використовує новий механізм JavaScript (V8), який обробляє запити набагато швидше, ніж існуючі інтерпретатори JavaScript. Це дає змогу створювати складніші та функціонально насиченіші програми AJAX, скоротивши час і обмеження обробки даних. І насамкінець, оскільки Google Chrome створено на базі WebKit, користувачі цього веб-переглядача зможуть використовувати функції CSS3, які додавалися до WebKit після їх випуску.

2. Де знайти відомості про інші веб-переглядачі?

Існують різні веб-переглядачі, за допомогою яких можна здійснювати пошук в Інтернеті. Докладніше про найбільш поширені переглядачі можна дізнатися на їхніх веб-сайтах.

Користувацький агент

3. Як виглядає рядок користувацького агента в Google Chrome?

Рядок користувацького агента в Google Chrome виглядає так:

Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/525.13 (KHTML, like Gecko) Chrome/0.X.Y.Z Safari/525.13.

Google Chrome застосовує систему візуалізації WebKit, яку використовують також інші веб-переглядачі, наприклад Apple Safari. Веб-сторінки в Google Chrome виглядають так само, як і в інших переглядачах, створених на базі WebKit. Щоб знайти ці веб-переглядачі, треба шукати слово webkit у рядках агента користувача, а не просто конкретні назви веб-переглядача (наприклад, Google Chrome або Safari).

Мовне кодування

4. Неправильне відображення символів у Google Chrome

Для правильного відображення вмісту у веб-переглядачі у верхній частині коду вашого документа завжди потрібно вказувати відомості про кодування вмісту та символів. У разі використання фреймів або i-фреймів тип кодування також потрібно вказувати вгорі коду цих фреймів. Деякі веб-переглядачі (зокрема Google Chrome) не розпізнають описи кодування, які розміщено всередині документа (наприклад, після CSS або сценарію в розділі заголовка документа).

Приклади правильного розташування кодування:

<html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
    <script type="text/javascript">
... ваш код JavaScript ...
    </script>
.......

Переконайтеся в тому, що ваш веб-сервер не надсилає несумісні заголовки HTTP. Заголовки, надіслані веб-сервером, заміняють будь-які описи наборів символів на сторінці.

5. Опис кодування за допомогою JavaScript (document.write) не працює

Google Chrome не зчитує інформацію, описану в document.write(). Якщо цей метод використовується для опису кодування в i-фреймах, під час їх відображення можуть з'являтися спотворені символи. Замість:

frame1.js

document.write("<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">");
... інший код JavaScript ...

...радимо застосовувати таке кодування:

frame1.html

<html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
    <script type="text/javascript">
... ваш код JavaScript ...
    </script>
...

6. Замість двох символів китайською мовою в Google Chrome відображаються символи "%B1%C1%C3%E5"

Google Chrome використовує процентне кодування параметрів запиту в URL-адресах. Переконайтеся, що ваші серверні сценарії правильно розшифровують процентно закодовані символи перед обробкою даних.

Сценарії та веб-програми

7. Елемент керування ActiveX не завантажується

Потрібно вказати версію плагіна NPAPI.

Підтримка ActiveX забезпечується лише в Internet Explorer (і веб-переглядачах, розроблених на базі Internet Explorer) у Windows. Google Chrome, Mozilla Firefox, Apple Safari й інші переглядачі не підтримують технологію ActiveX. Натомість ці веб-переглядачі використовують інтерфейс прикладного програмування плагінів Netscape (NPAPI).

8. Неналежне функціонування JavaScript

У Google Chrome існує два способи перегляду та налагодження помилок JavaScript:

  • Консоль JavaScript: натисніть значок меню Сторінка та виберіть Розробник > Консоль JavaScript. У цьому розділі можна переглянути помилки функціонування JavaScript і ввести додаткові команди для правильного виконання сценарію.
  • Налагоджувач JavaScript: перейдіть у меню Сторінка > Розробник > Налагодити JavaScript. Програма-налагоджувач відкриває вікно командного рядка, у якому можна вказати точки зупинки, зворотне відстеження тощо. Щоб почати, у командному рядку налагоджувача введіть команду help.

Візуалізація та поведінка переглядача

9. Відображення веб-сайту в Google Chrome відрізняється від Internet Explorer

На відміну від Internet Explorer, Google Chrome застосовує іншу систему візуалізації, тому веб-сторінки можуть відображатися по-різному. Apple Safari та Google Chrome застосовують однакову систему візуалізації (WebKit), тому сторінки в цих веб-переглядачах відображаються однаково.

  • Якщо ваш веб-сайт не відображається належним чином у всіх переглядачах, перевірте відповідність його HTML і CSS описів на веб-сайті http://validator.w3.org/
  • Якщо веб-сайт не відображається належним чином у Google Chrome або Apple Safari, повідомте про помилку на сайті webkit.org, як описано на сторінці http://webkit.org/quality/reporting.html.
  • Якщо веб-сайт відображається належним чином в Apple Safari, але неправильно функціонує в Google Chrome, повідомте про помилку з Google Chrome на сторінці http://code.google.com/p/chromium/issues/list.

10. Як випробувати веб-сайт у Google Chrome?

Існує декілька інструментів для випробовування веб-сайту в Google Chrome.

  • Веб-інспектор
    Щоб запустити веб-інспектор, натисніть правою кнопкою миші будь-який компонент на веб-сторінці. Під час натискання з'являтимуться елементи та ресурси, пов'язані з компонентом, включно з ієрархічною структурою консолей DOM і JavaScript.
  • Диспетчер завдань
    Натисніть значок меню Сторінка, виберіть Розробник > Диспетчер завдань (або натисніть клавіші Shift+Esc). Диспетчер завдань показує всі операції, які здійснює Google Chrome, і використані ними ресурси (пам'ять, ЦП і мережа).
  • Налагоджувач JavaScript
    Натисніть значок меню Сторінка, виберіть Розробник > Налагодження JavaScript. Запуститься програма-налагоджувач JavaScript, яку можна використати для долучення до поточних операцій.

11. Характеристики шрифту в зовнішніх таблицях стилів не працюють

Переконайтеся, що ваші зовнішні таблиці стилів відображаються з належним набором символів і типом вмісту. Вони мають відображатися як text/css або text/css;charset=X.

Не варто вказувати набір символів для таблиці стилів у заголовку HTTP; замість цього радимо додати опис на самому початку таблиці стилів CSS (без попередніх символів, у тому числі пробілів і розривів рядків), як показано нижче:

@charset "xxx"

Якщо дані про кодування не вказано, таблиця стилів може бути неправильно проаналізована.

Докладніше про це йдеться в документації Консорціуму W3C на сторінці http://www.w3.org/TR/CSS21/syndata.html#charset.

12. Спливаючі вікна веб-сайту не відображаються в Google Chrome

Поведінка Google Chrome за умовчанням передбачає згортання та відображення лише рядка заголовка спливаючих вікон у нижній правій частині вікна веб-переглядача. Користувачі можуть переглядати вміст спливаючих вікон, перетягнувши їх за рядок заголовка в кращу позицію для перегляду. Такий механізм дозволяє завантажувати спливаючі вікна, не порушуючи функціональність веб-сайтів, на яких вони з'являються. Це також запобігає перекриттю сторінки небажаними спливаючими вікнами, які відволікають увагу користувачів.

13. Замість замка в захищеному SSL веб-сайті в Google Chrome відображається знак оклику

Цей знак повідомляє про проблему з використанням SSL на сторінці. Натисніть цей знак оклику в Google Chrome, щоб отримати додаткові відомості про проблему. Здебільшого проблеми виникають унаслідок розміщення на сторінці змішаного вмісту. Припустімо, що веб-сторінка верхнього рівня обслуговується HTTPS і захищена SSL, але ви додали на неї ще й елементи (наприклад, зображення, сценарії або CSS), які обслуговуються через HTTP. Щоб на сторінці відображався замок, увесь її вміст має обслуговуватися через HTTPS.

14. У Google Chrome не підтримується база даних API HTML5

Команда Google Chrome планує в майбутніх версіях здійснювати підтримку бази даних АРІ HTML5, а також інших API, які підтримують WebKit, включно з автономним режимом і робочими процесами.

15. Як налаштувати зовнішній вигляд і функціонування ярликів Google Chrome, які вказують на мою сторінку?

Користувачі Google Chrome можуть створювати ярлики для будь-якої веб-сторінки в розділі Створити ярлики програми в меню Сторінка. За умовчанням нові ярлики мають назву та значок сторінки, на яку вони вказують.

Щоб надати заголовок, URL-адресу й опис ярлика Google Chrome, який указує на вашу сторінку, у розділ заголовка документа <head> необхідно вставити певні мета-теги.

Налаштування: Тег Приклад
Заголовок ярлика application-name <meta name="application-name" content="Gmail"/>
Опис (надається за наявності місця, наприклад на панелі налаштувань) description <meta name="description" content="Google's approach to email"/>
Перехід за URL-адресою після натискання ярлика application-url <meta name="application-url" content="http://www.gmail.com"/>
Значок ярлика   <link rel="icon" href="gmail_32x32.png" sizes="32x32"/>
<link rel="icon" href="gmail_48x48.png" sizes="48x48"/>

Наприклад:

<head>
    <meta name="application-name" content="Gmail"/>
    <meta name="description" content="Google's approach to email"/>
    <meta name="application-url" content="http://www.gmail.com"/>
    <link rel="icon" href=gmail_32x32.png sizes="32x32"/>
    <link rel="icon" href=gmail_48x48.png sizes="48x48"/>
    </head>

Ці теги точно відповідають тегам Gears Desktop API. Докладніше в документації Gears Desktop API.

16. Яким чином на веб-сторінці можна відкрити нову вкладку в межах окремої операції?

Оскільки Google Chrome має структуру, що дозволяє одночасно виконувати кілька операцій, вкладки можуть відкриватися як окремі операції, незалежно одна від одної та основної операції веб-переглядача. Оскільки нові вкладки, створені однією сторінкою, як правило, відкриваються в межах однієї операції, вихідна сторінка може отримати доступ до нової вкладки за допомогою JavaScript.

Однак Google Chrome шукає підказки, щоб відкрити нові вкладки в межах окремих операцій, якщо нова вкладка використовується для переходу з іншого веб-сайту.

Найпростіший спосіб – використати посилання на інший веб-сайт, який створює нове вікно, не передаючи інформацію про джерело посилання. Google Chrome сприймає це як підказку залишити нову сторінку ізольованою від вихідної сторінки та завантажує нову сторінку в межах окремої операції. Наприклад:

<a href="http://differentsite.com" target="_blank" rel="noreferrer">Open in new tab and new process</a>

Якщо потрібно відкрити нову вкладку в межах нової операції, передаючи при цьому інформацію про джерело посилання, виконайте в JavaScript указані нижче дії.

  • Відкрийте нову вкладку за допомогою параметра about:blank.
  • Установіть змінну opener щойно відкритої вкладки на null, щоб вона не мала доступу до вихідної сторінки.
  • Установіть переадресацію з about:blank на веб-сайт, відмінний від вихідної сторінки.

Наприклад:

var w = window.open();
    w.opener = null;
    w.document.location = "http://differentsite.com/index.html";

Ці підказки працюють лише для URL-адрес, які знаходяться на домені чи в протоколі, відмінному від того, на якому знаходиться сторінка, що створила спливаюче вікно. Наприклад, якщо сторінка, яка створила спливаюче вікно, знаходиться на сайті http://www.example.com.ua/:

  • іншим доменом буде http://www.example.org або http://www.example2.com
  • іншим протоколом може бути https://www.example.com.ua

17. Як вимкнути миттєве завантаження URL-адрес мого веб-сайту у функції Chrome Instant?

Якщо в Google Chrome увімкнено функцію "Chrome Instant", більшість веб-сторінок завантажуються, щойно URL-адресу введено в адресний рядок, ще до того, як користувач натисне клавішу Enter.

Якщо ви – адміністратор веб-сайту, таку поведінку Google Chrome на своєму сайті можна заборонити, виконавши вказані нижче дії.

  • Коли Google Chrome подає запит на сервер вашого веб-сайту, він надсилає такий заголовок:
    X-Purpose: instant
  • Виявіть цей заголовок і надішліть у відповідь код статусу HTTP 403 ("Forbidden").
  • Коли Google Chrome отримає цей код статусу, веб-переглядач додасть ваш веб-сайт до "чорного списку" для цього клієнта. Такий "чорний список" буде дійсним упродовж поточного сеансу перегляду користувача.

Пошук

18. Введення адреси веб-сайту інтрамережі переадресовує на сторінку результатів пошуку, а не на веб-сайт інтрамережі

Коли користувач вводить одне слово в адресний рядок, Google Chrome здійснює пошук цього терміну та показує результати за допомогою пошукової системи користувача, призначеної за умовчанням. Водночас для перевірки справжності веб-сайту Google Chrome робить запит HEAD для http://терміну. Якщо Google Chrome отримає відповідь HTTP/2xx (наприклад, HTTP/200 OK), користувач побачить повідомлення із запрошенням підтвердити перехід на цей веб-сайт. Перехід на веб-сайт із повідомлення встановить такий сайт цільовим для подальших запитів цього терміну за умовчанням.

Таке повідомлення із запрошенням також відображатиметься в Google Chrome у разі отримання таких відповідей:

  • HTTP/401 або HTTP/407
  • переадресації HTTP/3xx, що закінчується на сторінці, яка видає будь-яку з наведених вище відповідей

Переконайтеся в тому, що ваш веб-сервер належним чином відповідає на запити HEAD, а не лише на запити GET для сторінки.

Наприклад, якщо веб-сайт знаходиться за адресою http://project.intranet.example.com.ua, і в межах цієї корпоративної мережі користувач вводить в адресний рядок запит project:

  • Google Chrome покаже результати пошуку для терміну project
  • одночасно Google Chrome перевірить, чи веб-сайт http://project справжній. Якщо так,
  • на екрані з'явиться повідомлення із запрошенням підтвердити перехід на сайт http://project
  • якщо користувач переходить на сайт http://project, Google Chrome установить http://project цільовим для подальших запитів терміну project, введених в адресний рядок

Користувачі можуть змінювати параметри (пошуку) за умовчанням, ввівши project/ або http://project, чи вибравши запис в адресному рядку project/ замість Пошук project.

19. Як включити пошук на сайті в параметри пошуку Google Chrome?

Щоб дати можливість Google Chrome включити веб-сайт у список пошукових систем веб-переглядача, надайте документ з описом OpenSearch (OpenSearch description document, OSDD). Докладніше про OpenSearch ідеться на сайті http://www.opensearch.org.