.1Интерфейс PerformanceTiming 7.2Интерфейс PerformanceNavigation 7.3Расширения интерфейса Performance 8.Соответствие A.Благодарности B.Ссылки B.1Нормативные ссылки B.2Информативные ссылки 1. Введение Этот раздел не является нормативным.
Точное измерение характеристик производительности веб-приложений является важным аспектом ускорения веб-приложений. Хотя механизмы на основе JavaScript, такие как описанный в [JSMEASURE], могут обеспечить комплексный инструментарий для измерения задержки пользователя в приложении, во многих случаях они не способны предоставить полную или подробную картину задержки от начала до конца. Например, следующий JavaScript демонстрирует наивную попытку измерить время, необходимое для полной загрузки страницы:
ПРИМЕР 1 <html> <head> <script type="text/javascript"> var start = new Date().getTime(); function onLoad() {
var now = new Date().getTime(); var latency = now - start; alert("время загрузки страницы: " + задержка);
} </script> </head> <body onload="onLoad()"> <!- Отсюда начинается тело главной страницы. --> </body> </html> Приведенный выше скрипт вычисляет время, необходимое для загрузки страницы после выполнения первого фрагмента JavaScript в заголовке, но он не дает никакой информации о времени, необходимом для получения страницы с сервера, или о жизненном цикле инициализации страницы.
Эта спецификация определяет интерфейс PerformanceNavigationTiming, который участвует в [PERFORMANCE-TIMELINE-2] для хранения и извлечения данных метрик производительности высокого разрешения, связанных с навигацией документа. Поскольку интерфейс PerformanceNavigationTiming использует [HR-TIME-2], все значения времени измеряются относительно начала отсчета времени объекта Window.
Например, если мы знаем, что окончание ответа происходит через 100 мс после начала навигации, данные PerformanceNavigationTiming могут выглядеть следующим образом:
ПРИМЕР 2 startTime: 0.000 // время начала запроса навигации responseEnd: 100.000 // время высокого разрешения последнего полученного байта Следующий скрипт показывает, как разработчик может использовать интерфейс PerformanceNavigationTiming для получения точных данных о времени, связанных с навигацией по документу:
ПРИМЕР 3 <скрипт> функция showNavigationDetails() {
// Получить первую запись const [entry] = performance.getEntriesByType("навигация"); // Покажите это в удобной таблице в консоли разработчика console.table(entry.toJSON());
} </script> <body onload="showNavigationDetails()"> 2. Терминология Конструкция «объект Foo», где Foo на самом деле является интерфейсом, иногда используется вместо более точного «объект, реализующий интерфейс Foo».
Термин «навигация» относится к процессу навигации.
Термин текущий документ относится к документу, связанному с новейшим объектом Document объекта Window.
Термин JavaScript используется для обозначения ECMA262, а не официального термина ECMAScript, поскольку термин JavaScript более широко известен. [ECMASCRIPT]
В этой работе все значения времени измеряются в миллисекундах с начала навигации по документу. Например, начало навигации по документу происходит в момент времени 0. Термин текущее время относится к количеству миллисекунд с начала навигации по документу до текущего момента времени. Это определение времени основано на спецификации [HR-TIME-2].
3. Навигационное время 3.1 Связь с интерфейсом PerformanceEntry Интерфейс PerformanceNavigationTiming расширяет следующие атрибуты интерфейса PerformanceEntry:
Атрибут name ДОЛЖЕН возвращать значение DOMString адреса текущего документа. Атрибут entryType ДОЛЖЕН возвращать DOMString "navigation". Атрибут startTime ДОЛЖЕН возвращать DOMHighResTimeStamp со значением времени 0. [HR-TIME-2] Атрибут duration ДОЛЖЕН возвращать DOMHighResTimeStamp, равный разнице между loadEventEnd и startTime соответственно. ПРИМЕЧАНИЕ. Пользовательский агент, реализующий PerformanceNavigationTiming, должен будет включить "navigation" в supportedEntryTypes для контекстов Window. Это позволяет разработчикам обнаруживать поддержку Navigation Timing.
3.2 Связь с интерфейсом PerformanceResourceTiming Интерфейс PerformanceNavigationTiming расширяет следующие атрибуты интерфейса PerformanceResourceTiming:
Атрибут initiatorType ДОЛЖЕН возвращать DOMString "navigation". Атрибут workerStart ДОЛЖЕН возвращать время непосредственно перед тем, как пользовательский агент запустил worker (если текущий документ имеет активную регистрацию service worker [SERVICE-WORKERS]), необходимую для обслуживания запроса, или, если worker уже был доступен, время непосредственно перед тем, как пользовательский агент запустил событие с именем fetch в активном worker. В противном случае, если активного worker нет, этот атрибут ДОЛЖЕН возвращать ноль. ПРИМЕЧАНИЕ Только текущий ресурс документа включен во временную шкалу производительности; во временной шкале производительности есть только один объект PerformanceNavigationTiming.
MDN 3.3 Интерфейс PerformanceNavigationTiming ПРИМЕЧАНИЕ Проверка и извлечение содержимого из HTTP-кэша [RFC7234] является частью процесса извлечения. Он охватывается атрибутами requestStart, responseStart и responseEnd.
Интерфейс WebIDL [Exposed=Window] PerformanceNavigationTiming : PerformanceResourceTiming {
атрибут только для чтения DOMHighResTimeStamp unloadEventStart; атрибут только для чтения DOMHighResTimeStamp unloadEventEnd; атрибут только для чтения DOMHighResTimeStamp domInteractive; атрибут только для чтения DOMHighResTimeStamp domContentLoadedEventStart; атрибут только для чтения DOMHighResTimeStamp domContentLoadedEventEnd; атрибут только для чтения DOMHighResTimeStamp domComplete; атрибут только для чтения DOMHighResTimeStamp loadEventStart; атрибут только для чтения DOMHighResTimeStamp loadEventEnd; тип атрибута NavigationType только для чтения; атрибут только для чтения unsigned short redirectCount; [По умолчанию] объект toJSON();
}; При получении значения атрибута unloadEventStart выполните следующие шаги:
Если предыдущего документа нет или проверка на тот же источник не пройдена, верните DOMHighResTimeStamp со значением времени, равным нулю. В противном случае верните DOMHighResTimeStamp со значением времени, равным времени непосредственно перед тем, как пользовательский агент запускает событие выгрузки предыдущего документа. При получении значения атрибута unloadEventEnd выполните следующие шаги:
Если предыдущего документа нет или проверка на тот же источник не пройдена, вернуть DOMHighResTimeStamp со значением времени, равным нулю. В противном случае вернуть DOMHighResTimeStamp со значением времени, равным времени непосредственно перед тем, как пользовательский агент запускает событие выгрузки предыдущего документа. Атрибут domInteractive ДОЛЖЕН возвращать DOMHighResTimeStamp со значением времени, равным времени непосредственно перед тем, как пользовательский агент устанавливает готовность текущего документа на «интерактивный» [HTML].
Атрибут domContentLoadedEventStart ДОЛЖЕН возвращать DOMHighResTimeStamp со значением времени, равным времени непосредственно перед тем, как пользовательский агент инициирует событие DOMContentLoaded в текущем документе.
Атрибут domContentLoadedEventEnd ДОЛЖЕН возвращать DOMHighResTimeStamp со значением времени, равным времени сразу после завершения события DOMContentLoaded текущего документа.
Атрибут domComplete ДОЛЖЕН возвращать DOMHighResTimeStamp со значением времени, равным времени непосредственно перед тем, как пользовательский агент установит готовность текущего документа на «завершено» [HTML].
Если текущая готовность документа изменяется на одно и то же состояние несколько раз, domInteractive, domContentLoadedEventStart, domContentLoadedEventEnd и domComplete ДОЛЖНЫ возвращать DOMHighResTimeStamp со значением времени, равным времени первого появления соответствующего изменения готовности документа [HTML].
Атрибут loadEventStart ДОЛЖЕН возвращать DOMHighResTimeStamp со значением времени, равным времени непосредственно перед срабатыванием события загрузки текущего документа. Он ДОЛЖЕН возвращать DOMHighResTimeStamp со значением времени, равным нулю, когда событие загрузки еще не срабатывает.
Атрибут loadEventEnd ДОЛЖЕН возвращать DOMHighResTimeStamp со значением времени, равным времени завершения события загрузки текущего документа. Он ДОЛЖЕН возвращать DOMHighResTimeStamp со значением времени, равным нулю, когда событие загрузки не запущено или не завершено.
Атрибут type ДОЛЖЕН возвращать DOMString, описывающий тип последней навигации без перенаправления в текущем контексте просмотра. Он ДОЛЖЕН иметь одно из значений NavigationType.
ПРИМЕЧАНИЕ Клиентские перенаправления, такие как те, которые используют директиву Refresh pragma, не считаются HTTP-перенаправлениями в этой спецификации. В этих случаях атрибут type ДОЛЖЕН возвращать соответствующее значение, например reload, если выполняется перезагрузка текущей страницы, или navigation, если выполняется переход на новый URL.
При получении атрибута redirectCount выполните следующие шаги:
Если перенаправлений нет или проверка того же источника не пройдена, вернуть ноль. В противном случае вернуть количество перенаправлений с момента последнего перехода без перенаправления в текущем контексте просмотра. Метод toJSON() запускает операцию toJSON по умолчанию [WEBIDL].
3.3.1 NavigationType enum WebIDL enum NavigationType {
"навигация", "перезагрузить", "назад_вперед", "пререндер"
}; Значения определяются следующим образом:
navigation Навигация, начатая нажатием на ссылку, вводом URL в адресной строке пользовательского агента, отправкой формы или инициализацией через операцию скрипта, отличную от тех, которые используются reload и back_forward, как указано ниже. reload Навигация через операцию reload или метод location.reload(). back_forward Навигация через операцию обхода истории. prerender Навигация, инициированная подсказкой prerender [RESOURCE-HINTS]. ПРИМЕЧАНИЕ Формат указанного выше значения перечисления не соответствует рекомендациям WebIDL по форматированию значений перечисления. К сожалению, мы не можем изменить его из-за проблем обратной совместимости с поставляемыми реализациями.
4. Процесс 4.1 Модель обработки Рисунок 1 На этом рисунке показаны атрибуты синхронизации, определенные интерфейсом PerformanceNavigationTiming. Атрибуты в скобках указывают, что они могут быть недоступны для навигации, включающей документы из разных источников. Атрибуты синхронизации навигации Если навигация прерывается по любой из следующих причин, прервите эти шаги. Навигация прерывается из-за флага контекста просмотра навигации в изолированной среде, флага контекста просмотра навигации верхнего уровня в изолированной среде без активации пользователем или флага контекста просмотра навигации в изолированной среде с активацией пользователем, ранее предпринятой попытки навигации по контексту просмотра или отмены навигации пользователем. Навигация вызвана идентификаторами фрагментов на странице. Новый ресурс должен обрабатываться каким-либо встроенным содержимым. Новый ресурс должен обрабатываться с использованием механизма, который не влияет на контекст просмотра. Пользователь отказывается разрешить выгрузку документа. Создайте новый объект PerformanceNavigationTiming и добавьте его в буфер записи производительности. Установите name на DOMString "document". Установите entryType и initiatorType на DOMString "navigation". Установите startTime на DOMHighResTimeStamp со значением времени, равным нулю, а nextHopProtocol на пустой DOMString. Запишите текущий тип навигации в type, если он не был установлен: если навигация была запущена нажатием на ссылку, вводом URL в адресной строке пользовательского агента, отправкой формы или инициализацией с помощью операции скрипта, отличной от метода location.reload(), пусть тип навигации будет DOMString "navigate". Если навигация была запущена либо в результате обновления метаданных, либо методом location.reload(), либо другими эквивалентными действиями, пусть тип навигации будет DOMString "reload". Если навигация была запущена в результате обхода истории, пусть тип навигации будет DOMString "back_forward". Если перенаправлений нет или проверка на одинаковое происхождение не пройдена, установите unloadEventStart и unloadEventEnd на 0, затем перейдите к fetch-start-step. В противном случае запишите unloadEventStart как время непосредственно перед событием unload. Сразу после завершения события unload запишите текущее время как unloadEventEnd. Если URL-адрес навигации имеет активную регистрацию worker, непосредственно перед тем, как пользовательский агент запустит worker, запишите время как workerStart или, если worker доступен, запишите время до того, как событие с именем fetch будет запущено в активном worker. В противном случае, если URL-адрес навигации не имеет соответствующей регистрации service worker, установите значение workerStart равным нулю. [fetch-start-step] Если новый ресурс должен быть извлечен с помощью метода запроса "GET", непосредственно перед тем, как пользовательский агент проверит соответствующие кэши приложений, запишите текущее время как fetchStart. В противном случае, непосредственно перед тем, как пользовательский агент начнет процесс извлечения, запишите текущее время как fetchStart.Пусть domainLookupStart, domainLookupEnd, connectStart и connectEnd будут тем же значением, что и fetchStart. Задайте name в значение DOMString адреса текущего документа. Если ресурс извлекается из соответствующего кэша приложения или локальных ресурсов, включая кэш HTTP [RFC7234], перейдите к request-start-step. Если поиск домена не требуется, перейдите к connect-start-step. В противном случае, непосредственно перед тем, как пользовательский агент начнет поиск доменного имени, запишите время как domainLookupStart. Запишите время как domainLookupEnd сразу после успешного выполнения поиска доменного имени. Пользовательскому агенту МОЖЕТ потребоваться несколько повторных попыток до этого. Если поиск домена не удается, прервите остальные шаги. [connect-start-step] Если для извлечения ресурса используется постоянное транспортное соединение, пусть connectStart и connectEnd будут тем же значением domainLookupEnd. В противном случае запишите время как connectStart непосредственно перед инициированием соединения с сервером и запишите время как connectEnd сразу после установления соединения с сервером или прокси-сервером. Пользовательскому агенту МОЖЕТ потребоваться несколько повторных попыток до этого времени. После установки соединения установите значение nextHopProtocol на идентификатор ALPN, используемый соединением. Если соединение не может быть установлено, прервите оставшиеся шаги. Пользовательский агент ДОЛЖЕН также установить атрибут secureConnectionStart, как определено в модели обработки атрибута в [RESOURCE-TIMING]. [request-start-step] Непосредственно перед тем, как пользовательский агент начнет отправлять запрос на документ, запишите текущее время как requestStart. Запишите время как responseStart сразу после того, как пользовательский агент получит первый байт ответа. Запишите время как responseEnd сразу после получения последнего байта ответа. Вернитесь к connect-start-step, если пользовательский агент не может отправить запрос или получить весь ответ и ему необходимо повторно открыть соединение. ПРИМЕЧАНИЕ Когда включено постоянное соединение [RFC7230], пользовательский агент МОЖЕТ сначала попытаться повторно использовать открытое соединение для отправки запроса, в то время как соединение может быть асинхронно закрыто. В таком случае connectStart, connectEnd и requestStart ДОЛЖНЫ представлять информацию о времени, собранную через повторно открытое соединение.пусть connectStart и connectEnd будут одинаковыми значениями domainLookupEnd. В противном случае запишите время как connectStart непосредственно перед инициированием соединения с сервером и запишите время как connectEnd сразу после установления соединения с сервером или прокси-сервером. Пользовательскому агенту МОЖЕТ потребоваться несколько повторных попыток до этого времени. После установки соединения установите значение nextHopProtocol на идентификатор ALPN, используемый соединением. Если соединение не может быть установлено, прервите оставшиеся шаги. Пользовательский агент ДОЛЖЕН также установить атрибут secureConnectionStart, как определено в модели обработки атрибута в [RESOURCE-TIMING]. [request-start-step] Непосредственно перед тем, как пользовательский агент начнет отправлять запрос на документ, запишите текущее время как requestStart. Запишите время как responseStart сразу после того, как пользовательский агент получит первый байт ответа. Запишите время как responseEnd сразу после получения последнего байта ответа. Вернуться к connect-start-step, если пользовательский агент не может отправить запрос или получить весь ответ и ему необходимо повторно открыть соединение. ПРИМЕЧАНИЕ. Когда включено постоянное соединение [RFC7230], пользовательский агент МОЖЕТ сначала попытаться повторно использовать открытое соединение для отправки запроса, в то время как соединение может быть асинхронно закрыто. В таком случае connectStart, connectEnd и requestStart ДОЛЖНЫ представлять информацию о времени, собранную через повторно открытое соединение.пусть connectStart и connectEnd будут одинаковыми значениями domainLookupEnd. В противном случае запишите время как connectStart непосредственно перед инициированием соединения с сервером и запишите время как connectEnd сразу после установления соединения с сервером или прокси-сервером. Пользовательскому агенту МОЖЕТ потребоваться несколько повторных попыток до этого времени. После установки соединения установите значение nextHopProtocol на идентификатор ALPN, используемый соединением. Если соединение не может быть установлено, прервите оставшиеся шаги. Пользовательский агент ДОЛЖЕН также установить атрибут secureConnectionStart, как определено в модели обработки атрибута в [RESOURCE-TIMING]. [request-start-step] Непосредственно перед тем, как пользовательский агент начнет отправлять запрос на документ, запишите текущее время как requestStart. Запишите время как responseStart сразу после того, как пользовательский агент получит первый байт ответа. Запишите время как responseEnd сразу после получения последнего байта ответа. Вернуться к connect-start-step, если пользовательский агент не может отправить запрос или получить весь ответ и ему необходимо повторно открыть соединение. ПРИМЕЧАНИЕ. Когда включено постоянное соединение [RFC7230], пользовательский агент МОЖЕТ сначала попытаться повторно использовать открытое соединение для отправки запроса, в то время как соединение может быть асинхронно закрыто. В таком случае connectStart, connectEnd и requestStart ДОЛЖНЫ представлять информацию о времени, собранную через повторно открытое соединение.
Установите значения transferSize, encodedBodySize, decodedBodySize на соответствующие значения. Если извлеченный ресурс приводит к HTTP-перенаправлению, то If the same-origin check failed, установите redirectStart, redirectEnd, unloadEventStart, unloadEventEnd и redirectCount на 0. Затем вернитесь к fetch-start-step с новым ресурсом. Увеличьте redirectCount на 1. Если значение redirectStart равно 0, пусть это будет значение fetchStart. Пусть redirectEnd будет значением responseEnd. Установите все атрибуты в объекте PerformanceNavigationTiming на 0, кроме startTime, redirectStart, redirectEnd, redirectCount, type, nextHopProtocol, unloadEventStart и unloadEventEnd. Установите nextHopProtocol на пустую DOMString. Вернитесь к fetch-start-step с новым ресурсом. Запишите время как domInteractive непосредственно перед тем, как пользовательский агент установит текущую готовность документа на «интерактивный». Запишите время как domContentLoadedEventStart непосредственно перед тем, как пользовательский агент инициирует событие DOMContentLoaded для документа. Запишите время как domContentLoadedEventEnd непосредственно после завершения события DOMContentLoaded. Запишите время как domComplete непосредственно перед тем, как пользовательский агент установит текущую готовность документа на «завершенный». Запишите время как loadEventStart непосредственно перед тем, как пользовательский агент инициирует событие загрузки. Запишите время как loadEventEnd непосредственно после того, как пользовательский агент завершит событие загрузки. Установите длительность в DOMHighResTimeStamp, равную разнице между loadEventEnd и startTime соответственно. Поставьте в очередь новый объект PerformanceNavigationTiming. Некоторые пользовательские агенты сохраняют структуру DOM документа в памяти во время операций навигации, таких как «вперед» и «назад». В этих случаях объект PerformanceNavigationTiming НЕ ДОЛЖЕН изменяться во время навигации.
4.2 Проверка на идентичность источника При запросе на выполнение проверки на идентичность источника пользовательский агент ДОЛЖЕН выполнить следующие шаги:
Если предыдущий документ существует и его источник не совпадает с источником текущего документа, вернуть «fail». Пусть request будет запросом текущего документа. Если счетчик перенаправлений запроса не равен нулю, и все HTTP-перенаправления запроса имеют тот же источник, что и текущий документ, вернуть «pass». В противном случае вернуть «fail». 5. Конфиденциальность Этот раздел не является нормативным.
5.1 Раскрытие информации Существует потенциальная возможность раскрытия истории просмотров и активности конечного пользователя с помощью тщательно продуманных атак по времени. Например, время выгрузки показывает, сколько времени требуется предыдущей странице для выполнения ее обработчика выгрузки, что может быть использовано для определения статуса входа пользователя. Эти атаки были смягчены путем применения алгоритма проверки того же источника при доступе к информации о времени, включающей предыдущую навигацию.
Смягченная политика одного и того же источника не обеспечивает достаточной защиты от несанкционированных посещений документов. В общем хостинге ненадежная третья сторона может разместить HTTP-сервер на том же IP-адресе, но на другом порту.
5.2 Кросс-каталоговый доступ Различные страницы, разделяющие одно имя хоста, например, содержимое от разных авторов, размещенное на сайтах с пользовательским контентом, считаются имеющими один источник, поскольку нет функции ограничения доступа по имени пути. Навигация между этими страницами позволяет последней странице получать доступ к информации о времени предыдущей, такой как время относительно перенаправления и события выгрузки.
6. Безопасность Данный раздел не является нормативным.
Интерфейс PerformanceNavigationTiming предоставляет информацию о времени предыдущего документа текущему документу. Чтобы ограничить доступ к атрибутам PerformanceNavigationTiming, которые включают информацию о предыдущем документе, применяется алгоритм проверки того же источника, а атрибуты, связанные с предыдущим документом, устанавливаются в ноль.
6.1 Обнаружение прокси-серверов В случае, если прокси развернут между пользовательским агентом и веб-сервером, временной интервал между атрибутами connectStart и connectEnd указывает задержку между пользовательским агентом и прокси, а не веб-сервером. При этом веб-сервер может потенциально сделать вывод о существовании прокси. Для прокси SOCKS этот временной интервал включает время аутентификации прокси и время, необходимое прокси для подключения к веб-серверу, что затрудняет обнаружение прокси. В случае HTTP-прокси пользовательский агент может вообще не знать о прокси-сервере, поэтому не всегда возможно смягчить эту атаку.
7. Устаревший Этот раздел определяет атрибуты и интерфейсы, ранее введенные в [NAVIGATION-TIMING] Level 1 и сохраненные здесь для обратной совместимости. Авторам не следует использовать следующие интерфейсы, и им настоятельно рекомендуется использовать новый интерфейс PerformanceNavigationTiming — см. сводку изменений и улучшений.
7.1 Интерфейс PerformanceTiming WebIDL [Exposed=Window] интерфейс PerformanceTiming {
атрибут только для чтения unsigned long long navigationStart; атрибут только для чтения unsigned long long unloadEventStart; атрибут только для чтения unsigned long long unloadEventEnd; атрибут только для чтения unsigned long long redirectStart; атрибут только для чтения unsigned long long redirectEnd; атрибут только для чтения unsigned long long fetchStart; атрибут только для чтения unsigned long long domainLookupStart; атрибут только для чтения unsigned long long domainLookupEnd; атрибут только для чтения unsigned long long connectStart; атрибут только для чтения unsigned long long connectEnd; атрибут только для чтения unsigned long long secureConnectionStart; атрибут только для чтения unsigned long long requestStart; атрибут только для чтения unsigned long long responseStart; атрибут только для чтения unsigned long long responseEnd; атрибут только для чтения unsigned long long domLoading; атрибут только для чтения unsigned long long domInteractive; атрибут только для чтения unsigned long long domContentLoadedEventStart; атрибут только для чтения unsigned long long domContentLoadedEventEnd; атрибут только для чтения unsigned long long domComplete; атрибут только для чтения unsigned long long loadEventStart; атрибут только для чтения unsigned long long loadEventEnd; [По умолчанию] объект toJSON();
}; ПРИМЕЧАНИЕ Все значения времени, определенные в этом разделе, измеряются в миллисекундах с полуночи 1 января 1970 года (UTC).
navigationStart Этот атрибут должен возвращать время сразу после того, как пользовательский агент закончит запрашивать выгрузку предыдущего документа. Если предыдущего документа нет, этот атрибут должен возвращать время создания текущего документа.
ПРИМЕЧАНИЕ Этот атрибут не определен для PerformanceNavigationTiming. Вместо этого авторы могут использовать timeOrigin для получения эквивалентной временной метки.
unloadEventStart Если предыдущий документ и текущий документ имеют одинаковое происхождение, этот атрибут должен возвращать время непосредственно перед тем, как пользовательский агент запускает событие unload предыдущего документа. Если предыдущего документа нет или предыдущий документ имеет другое происхождение, чем текущий документ, этот атрибут должен возвращать ноль.
unloadEventEnd Если предыдущий документ и текущий документ имеют одинаковое происхождение, этот атрибут должен возвращать время сразу после того, как пользовательский агент завершает событие выгрузки предыдущего документа. Если предыдущего документа нет или предыдущий документ имеет другое происхождение, чем текущий документ, или выгрузка еще не завершена, этот атрибут должен возвращать ноль.
Если при навигации происходят HTTP-перенаправления и не все перенаправления происходят из одного источника, PerformanceTiming.unloadEventStart и PerformanceTiming.unloadEventEnd должны возвращать ноль.
redirectStart Если при навигации есть HTTP-перенаправления и если все перенаправления происходят из одного источника, этот атрибут должен возвращать время начала выборки, которая инициирует перенаправление. В противном случае этот атрибут должен возвращать ноль.
redirectEnd Если при навигации есть HTTP-перенаправления и все перенаправления из одного источника, этот атрибут должен возвращать время сразу после получения последнего байта ответа последнего перенаправления. В противном случае этот атрибут должен возвращать ноль.
fetchStart Если новый ресурс должен быть извлечен с помощью метода запроса "GET", fetchStart должен вернуть время непосредственно перед тем, как пользовательский агент начнет проверять любые соответствующие кэши приложений. В противном случае он должен вернуть время, когда пользовательский агент начнет извлекать ресурс.
domainLookupStart Этот атрибут должен возвращать время непосредственно перед тем, как пользовательский агент начнет поиск доменного имени для текущего документа. Если используется постоянное соединение [RFC2616] или текущий документ извлекается из соответствующих кэшей приложений или локальных ресурсов, этот атрибут должен возвращать то же значение, что и PerformanceTiming.fetchStart.
domainLookupEnd Этот атрибут должен возвращать время сразу после того, как пользовательский агент завершает поиск доменного имени для текущего документа. Если используется постоянное соединение [RFC2616] или текущий документ извлекается из соответствующих кэшей приложений или локальных ресурсов, этот атрибут должен возвращать то же значение, что и PerformanceTiming.fetchStart.
ПРИМЕЧАНИЕ Проверка и извлечение содержимого из HTTP-кэша [RFC2616] является частью процесса извлечения. Это охвачено атрибутами PerformanceTiming.requestStart, PerformanceTiming.responseStart и PerformanceTiming.responseEnd.
ПРИМЕЧАНИЕ. В случае, если у пользовательского агента уже есть информация о домене в кэше, domainLookupStart и domainLookupEnd представляют время, когда пользовательский агент начинает и заканчивает извлечение данных домена из кэша.
connectStart Этот атрибут должен возвращать время непосредственно перед тем, как пользовательский агент начнет устанавливать соединение с сервером для извлечения документа. Если используется постоянное соединение [RFC2616] или текущий документ извлекается из соответствующих кэшей приложений или локальных ресурсов, этот атрибут должен возвращать значение PerformanceTiming.domainLookupEnd.
connectEnd Этот атрибут должен возвращать время сразу после того, как пользовательский агент завершает установление соединения с сервером для извлечения текущего документа. Если используется постоянное соединение [RFC2616] или текущий документ извлекается из соответствующих кэшей приложений или локальных ресурсов, этот атрибут должен возвращать значение PerformanceTiming.domainLookupEnd.
Если транспортное соединение не устанавливается и пользовательский агент повторно открывает соединение, PerformanceTiming.connectStart и PerformanceTiming.connectEnd должны возвращать соответствующие значения нового соединения.
PerformanceTiming.connectEnd должен включать временной интервал для установления транспортного соединения, а также другие временные интервалы, такие как SSL-рукопожатие и аутентификация SOCKS.
secureConnectionStart Этот атрибут необязателен. Агенты пользователей, у которых этот атрибут недоступен, должны установить его как неопределенный. Когда этот атрибут доступен, если схема [URL] текущей страницы — «https», этот атрибут должен возвращать время непосредственно перед тем, как агент пользователя начнет процесс установления связи для защиты текущего соединения. Если этот атрибут доступен, но HTTPS не используется, этот атрибут должен возвращать ноль.
requestStart Этот атрибут должен возвращать время непосредственно перед тем, как пользовательский агент начнет запрашивать текущий документ с сервера, из соответствующих кэшей приложений или из локальных ресурсов.
Если транспортное соединение прерывается после отправки запроса, а пользовательский агент повторно открывает соединение и повторно отправляет запрос, PerformanceTiming.requestStart должен вернуть соответствующие значения нового запроса.
ПРИМЕЧАНИЕ. Этот интерфейс не включает атрибут, представляющий завершение отправки запроса, например, requestEnd.
Завершение отправки запроса от пользовательского агента не всегда указывает на соответствующее время завершения в сетевом транспорте, что дает большую часть преимуществ наличия такого атрибута. Некоторые пользовательские агенты имеют высокую стоимость определения фактического времени завершения отправки запроса из-за инкапсуляции уровня HTTP. responseStart Этот атрибут должен возвращать время сразу после того, как пользовательский агент получает первый байт ответа от сервера или из соответствующих кэшей приложений или из локальных ресурсов.
responseEnd Этот атрибут должен возвращать время сразу после того, как пользовательский агент получает последний байт текущего документа, или непосредственно перед закрытием транспортного соединения, в зависимости от того, что наступит раньше. Документ здесь может быть получен либо с сервера, либо из соответствующих кэшей приложений, либо из локальных ресурсов.
domLoading Этот атрибут должен возвращать время непосредственно перед тем, как пользовательский агент установит текущую готовность документа на «загрузку».
Предупреждение Из-за различий в моментах создания объекта Document в существующих пользовательских агентах значение, возвращаемое domLoading, зависит от реализации и не должно использоваться в значимых метриках.
domInteractive Этот атрибут должен возвращать время непосредственно перед тем, как пользовательский агент установит готовность текущего документа на «интерактивный».
domContentLoadedEventStart Этот атрибут должен возвращать время непосредственно перед тем, как пользовательский агент инициирует событие DOMContentLoaded в документе.
domContentLoadedEventEnd Этот атрибут должен возвращать время сразу после завершения события DOMContentLoaded документа.
domComplete Этот атрибут должен возвращать время непосредственно перед тем, как пользовательский агент установит текущую готовность документа на «завершение».
Если текущее состояние готовности документа изменяется на одно и то же несколько раз, PerformanceTiming.domLoading, PerformanceTiming.domInteractive, PerformanceTiming.domContentLoadedEventStart, PerformanceTiming.domContentLoadedEventEnd и PerformanceTiming.domComplete должны возвращать время первого возникновения соответствующего изменения готовности документа.
loadEventStart Этот атрибут должен возвращать время непосредственно перед срабатыванием события загрузки текущего документа. Он должен возвращать ноль, когда событие загрузки еще не срабатывает.
loadEventEnd Этот атрибут должен возвращать время завершения события загрузки текущего документа. Он должен возвращать ноль, если событие загрузки не запущено или не завершено.
toJSON() Запускает операцию toJSON по умолчанию [WEBIDL]. 7.2 Интерфейс PerformanceNavigation Интерфейс WebIDL [Exposed=Window] PerformanceNavigation {
константа беззнаковая короткая TYPE_NAVIGATE = 0; const беззнаковый короткий TYPE_RELOAD = 1; константа беззнаковая короткая TYPE_BACK_FORWARD = 2; const беззнаковый короткий TYPE_RESERVED = 255; атрибут только для чтения беззнаковый короткий тип; атрибут только для чтения unsigned short redirectCount; [По умолчанию] объект toJSON();
}; TYPE_NAVIGATE Навигация начинается с нажатия на ссылку, ввода URL-адреса в адресной строке пользовательского агента, отправки формы или инициализации с помощью операции скрипта, отличной от тех, которые используются TYPE_RELOAD и TYPE_BACK_FORWARD, как указано ниже.
TYPE_RELOAD Навигация по операции перезагрузки или методу location.reload().
TYPE_BACK_FORWARD Навигация по операции обхода истории.
TYPE_RESERVED Любые типы навигации, не определенные приведенными выше значениями.
type Этот атрибут должен возвращать тип последней навигации без перенаправления в текущем контексте просмотра. Он должен иметь одно из следующих значений типа навигации.
ПРИМЕЧАНИЕ. Клиентские перенаправления, такие как те, которые используют директиву Refresh pragma, не считаются перенаправлениями HTTP в этой спецификации. В этих случаях атрибут type должен возвращать соответствующее значение, например TYPE_RELOAD при перезагрузке текущей страницы или TYPE_NAVIGATE при переходе на новый URL.
redirectCount Этот атрибут должен возвращать количество перенаправлений с момента последней навигации без перенаправления в текущем контексте просмотра. Если перенаправления нет или есть перенаправление, которое не из того же источника, что и целевой документ, этот атрибут должен возвращать ноль.
toJSON() Запускает операцию toJSON по умолчанию [WEBIDL]. 7.3 Расширения интерфейса производительности WebIDL [Exposed=Window] частичный интерфейс производительности {
[Тот же Объект] атрибут только для чтения PerformanceTiming хронометраж; [Тот же Объект] атрибут только для чтения PerformanceNavigation навигация;
последний раз смерти все один заботятся с очень заботой в dadlines на всех открытых маскара................
Здравствуйте. Спасибо за ваш вклад в Википедию .
При редактировании Википедии под основным полем редактирования есть поле с надписью " Редактировать сводку ". Оно выглядит так:
Краткое изложение изменений (кратко опишите ваши изменения)
Я заметил, что ваше недавнее редактирование Gurmehar Kaur не имеет сводки по редактированию . Пожалуйста, обязательно предоставьте сводку по каждому сделанному вами редактированию, даже если вы напишете только самое краткое из резюме. Сводки очень полезны для людей, просматривающих историю статьи.
Содержание сводки редактирования отображается в:
Пожалуйста, используйте сводку редактирования, чтобы объяснить причину редактирования или краткое изложение того, что редактирование меняет. Вы можете напомнить себе о необходимости добавить сводку редактирования, установив Настройки → Редактирование → Подскажите мне при вводе пустого резюме редактирования . Спасибо! Bo ng an ® →TalkToMe← 07:06, 3 марта 2017 (UTC)
Привет! Вы отправили мне сообщение на моей странице обсуждения, которое затем было удалено снова, по-видимому, относительно Skam (сериал) . Я полностью не согласен, что разделы «Главное» и «Зарубежный успех» слишком длинные, и поскольку вы удалили свое сообщение, полагаю, вы согласны? Я полностью готов к обсуждению этого вопроса, я просто не уверен, нужно ли оно, поскольку вы удалили свое сообщение? :) Хорошего дня! LocalNet ( обсуждение ) 04:36, 6 апреля 2017 (UTC)
Прочитайте это на другом языке • Список подписчиков на эту многоязычную рассылку
С момента последнего информационного бюллетеня команда VisualEditor потратила большую часть времени на поддержку режима редактора wikitext 2017, который доступен внутри визуального редактора как бета-функция, и на добавление нового инструмента визуального сравнения. Их рабочая панель доступна в Phabricator. Ссылки на завершенную работу можно найти каждую неделю на mw:VisualEditor/Weekly triage meetings. Их текущими приоритетами являются исправление ошибок, поддержка редактора wikitext 2017 как бета-функции и улучшение инструмента визуального сравнения.
Новый режим редактирования викитекста доступен в качестве бета-функции на настольных устройствах. Редактор викитекста 2017 года имеет ту же панель инструментов, что и визуальный редактор, и может использовать сервис citoid и другие современные инструменты. Перейдите в Special:Preferences#mw-prefsection-betafeatures , чтобы включить ⧼Visualeditor-preference-newwikitexteditor-label⧽.
Новый визуальный инструмент diff доступен в визуальном режиме VisualEditor. Вы можете переключаться между викитекстом и визуальными diff. Позже к этому будут добавлены дополнительные функции. В будущем этот инструмент может быть интегрирован в другие компоненты MediaWiki. [1]
Команда добавила многоколоночную поддержку для списков сносок. <references />
Блок может автоматически отображать длинные списки ссылок в столбцах на широких экранах. Это облегчает чтение сносок. Вы можете запросить многоколоночную поддержку для вашего вики. [2]
Другие изменения:
<chem>
теги (иногда используемые как <ce>
) для химических формул внутри визуального редактора. [7]Control
+ Shift
+ K
на ПК или Command
+ Shift
+ K
на Mac. Оно основано на сочетании клавиш для создания ссылок, которое равно Control
+ K
на ПК или Command
+ K
на Mac. [11]<ref>
тегов и другие типы синтаксиса викитекста. Вы сможете включать и выключать его. Сначала он станет доступен во встроенном режиме викитекста VisualEditor, возможно, в конце 2017 года. [12]&ooui=1
в конец URL, например: https://www.mediawiki.org/wiki/User_talk:6033CloudyRainbowTrail/Project:Sandbox?action=edit&ooui=1 Старый вид больше не будет возможен, даже с локальными изменениями CSS. [13]Если вы не читаете это на предпочитаемом вами языке, пожалуйста, помогите нам с переводами! Подпишитесь на рассылку Translators или свяжитесь с нами напрямую, чтобы мы могли уведомить вас, когда будет готов следующий выпуск. Спасибо! Пользователь:Whatamidoing (WMF) ( talk ) 19:18, 9 мая 2017 (UTC)
Здравствуйте, 6033CloudyRainbowTrail. Голосование на выборах Арбитражного комитета 2017 года открыто до 23.59 в воскресенье, 10 декабря. Все пользователи, зарегистрировавшие учетную запись до субботы, 28 октября 2017 года, сделавшие не менее 150 правок в mainspace до среды, 1 ноября 2017 года и в настоящее время не заблокированные, имеют право голосовать. Пользователи с альтернативными учетными записями могут голосовать только один раз.
Арбитражный комитет — это группа редакторов, ответственных за проведение арбитражного процесса Википедии . Он имеет полномочия налагать обязательные решения на споры между редакторами, в первую очередь на серьезные споры о поведении, которые сообщество не смогло разрешить. Это включает в себя полномочия налагать запреты на сайты , запреты на темы , ограничения на редактирование и другие меры, необходимые для поддержания нашей среды редактирования. Политика арбитража описывает роли и обязанности Комитета более подробно.
Если вы хотите принять участие в выборах 2017 года, пожалуйста, ознакомьтесь с кандидатами и отправьте свой выбор на странице голосования . Доставка сообщения MediaWiki ( обсуждение ) 18:42, 3 декабря 2017 (UTC)
Читайте это на другом языке • Список подписчиков для английской Википедии • Список подписчиков для многоязычного издания
С момента последнего информационного бюллетеня команда редактирования потратила большую часть своего времени на поддержку режима редактора викитекста 2017 года, который доступен внутри визуального редактора как бета-функция, и улучшение инструмента визуального сравнения. Их рабочая доска доступна в Phabricator. Вы можете найти ссылки на работу, выполненную каждую неделю на mw:VisualEditor/Weekly triage meetings. Их текущие приоритеты — исправление ошибок, поддержка редактора викитекста 2017 года и улучшение инструмента визуального сравнения.
<references />
может автоматически отображать длинные списки ссылок в столбцах на широких экранах. Это облегчает чтение сносок. Это уже включено в английской Википедии. Если вам нужны столбцы для длинного списка сносок в этой вики, вы можете использовать либо <references />
простой {{reflist}}
шаблон (без параметров). Если вы редактируете другую вики, вы можете запросить поддержку нескольких столбцов для вашей вики. [17]— Пользователь:Whatamidoing (WMF) ( обсуждение ) 23:14, 28 февраля 2018 (UTC)
Прочитайте это на другом языке • Список подписчиков на эту многоязычную рассылку • Список подписчиков на английскую Википедию
Вы знали?
С момента последнего информационного бюллетеня команда редактирования завершила большую часть работы над редактором викитекста 2017 года и визуальным инструментом сравнения. Команда начала изучать потребности редакторов, использующих мобильные устройства. Их рабочая доска доступна в Phabricator. Их текущие приоритеты — исправление ошибок и улучшение мобильного редактирования.
— Whatamidoing (WMF) ( обсуждение ) 17:11, 1 ноября 2018 (UTC)
Здравствуйте, 6033CloudyRainbowTrail. Голосование на выборах Арбитражного комитета 2018 года открыто до 23.59 в воскресенье, 2 декабря. Все пользователи, зарегистрировавшие учетную запись до воскресенья, 28 октября 2018 года, сделавшие не менее 150 правок в mainspace до четверга, 1 ноября 2018 года и в настоящее время не заблокированные, имеют право голосовать. Пользователи с альтернативными учетными записями могут голосовать только один раз.
Арбитражный комитет — это группа редакторов, ответственных за проведение арбитражного процесса Википедии . Он имеет полномочия налагать обязательные решения на споры между редакторами, в первую очередь на серьезные споры о поведении, которые сообщество не смогло разрешить. Это включает в себя полномочия налагать запреты на сайты , запреты на темы , ограничения на редактирование и другие меры, необходимые для поддержания нашей среды редактирования. Политика арбитража описывает роли и обязанности Комитета более подробно.
Если вы хотите принять участие в выборах 2018 года, пожалуйста, ознакомьтесь с кандидатами и отправьте свой выбор на странице голосования . Доставка сообщения MediaWiki ( обсуждение ) 18:42, 19 ноября 2018 (UTC)
Здравствуйте, 6033CloudyRainbowTrail. Голосование на выборах Арбитражного комитета 2018 года открыто до 23.59 в воскресенье, 3 декабря. Все пользователи, зарегистрировавшие учетную запись до воскресенья, 28 октября 2018 года, сделавшие не менее 150 правок в mainspace до четверга, 1 ноября 2018 года и в настоящее время не заблокированные, имеют право голосовать. Пользователи с альтернативными учетными записями могут голосовать только один раз.
Арбитражный комитет — это группа редакторов, ответственных за проведение арбитражного процесса Википедии . Он имеет полномочия налагать обязательные решения на споры между редакторами, в первую очередь на серьезные споры о поведении, которые сообщество не смогло разрешить. Это включает в себя полномочия налагать запреты на сайты , запреты на темы , ограничения на редактирование и другие меры, необходимые для поддержания нашей среды редактирования. Политика арбитража описывает роли и обязанности Комитета более подробно.
Если вы хотите принять участие в выборах 2018 года, пожалуйста, ознакомьтесь с кандидатами и отправьте свой выбор на странице голосования . Доставка сообщения MediaWiki ( обсуждение ) 18:42, 19 ноября 2018 (UTC)
Прочитайте это на другом языке • Список подписчиков на эту многоязычную рассылку
Вы знали?
Добро пожаловать обратно в редакционную рассылку.
С момента последнего информационного бюллетеня команда выпустила две новые функции для мобильного визуального редактора и начала разработку еще трех. Вся эта работа является частью цели команды сделать редактирование в мобильном вебе проще.
Прежде чем рассказать о последних релизах команды, у нас есть к вам вопрос:
Готовы ли вы попробовать новый способ добавления и изменения ссылок?
Если вам интересно, мы будем признательны за ваш вклад! Вы можете попробовать этот новый инструмент ссылок в мобильном визуальном редакторе на отдельной вики.
Следуйте этим инструкциям и поделитесь своим опытом:
📲 Попробуйте редактировать карточки.
Мобильный визуальный редактор — это более простой инструмент редактирования для смартфонов и планшетов, использующих мобильный сайт. Команда редактирования недавно запустила две новые функции для улучшения мобильного визуального редактора:
Редактирование разделов и новый загрузочный оверлей теперь доступны всем, кто использует мобильный визуальный редактор.
Это список наших самых активных проектов. Просматривайте эти страницы, чтобы узнать об обновлениях проектов и поделиться своим мнением о новых проектах, прототипах и результатах исследований.
VisualEditor на мобильном устройстве — хорошее место, чтобы узнать больше о проектах, над которыми мы работаем. Команда хочет поговорить с вами обо всем, что связано с редактированием. Если у вас есть что сказать или спросить, пожалуйста, оставьте сообщение в Talk:VisualEditor на мобильном устройстве.
PPelberg (WMF) (обсуждение) и Whatamidoing (WMF) ( обсуждение ) 21:24, 15 июля 2019 (UTC)
Прочитайте это на другом языке • Список подписчиков на эту многоязычную рассылку
В этом информационном бюллетене команда редакторов рассказывает о своей работе над мобильным визуальным редактором, о новом проекте страниц обсуждений и о Wikimania 2019.
Какие взаимодействия на странице обсуждения вы помните? Это история о том, как кто-то помог вам узнать что-то новое? Это история о том, как кто-то помог вам присоединиться к группе? Что-то еще? Какой бы ни была ваша история, мы хотим ее услышать!
Расскажите, пожалуйста, историю о том, как вы использовали страницу обсуждения. Пожалуйста, поделитесь ссылкой на памятную дискуссию или опишите ее на странице обсуждения этого проекта . Команда будет признательна за ваши примеры. Эти примеры помогут всем выработать общее понимание того, что этот проект должен поддерживать и поощрять.
Консультация по страницам обсуждения была глобальной консультацией по определению лучших инструментов для общения в вики. С февраля по июнь 2019 года более 500 волонтеров из 20 вики, на 15 языках и в нескольких проектах, объединились с членами Фонда, чтобы создать направление продукта для набора инструментов для обсуждения. Отчет о фазе 2 консультации по страницам обсуждения был опубликован в августе. Он суммирует направление продукта, над которым начала работать команда, о чем вы можете прочитать здесь: Страница проекта Talk Page.
Команда нуждается в вашей помощи и хочет ее получить на этой ранней стадии. Они начинают разрабатывать первую идею. Пожалуйста, добавьте свое имя в раздел «Участвуем» на странице проекта, если вы хотите узнать о возможностях участия.
Команда редактирования пытается упростить редактирование на мобильных устройствах. Команда меняет визуальный редактор на мобильных устройствах. Если у вас есть что сказать о редактировании на мобильных устройствах, пожалуйста, оставьте сообщение на Talk:VisualEditor на мобильных устройствах.
Команда редакторов посетила Wikimania 2019 в Швеции. Они провели сессию по мобильному визуальному редактору и сессию по новому проекту страниц обсуждения. Они протестировали две новые функции мобильного визуального редактора с участниками. Вы можете прочитать больше о том, что сделала и чему научилась команда, в отчете команды о Wikimania 2019.
– PPelberg (WMF) (обс.) & Whatamidoing (WMF) (обс.) 16:51, 17 октября 2019 (UTC)
Прочитайте это на другом языке • Список подписки
Команда редактирования работала над проектом страниц обсуждения. Цель проекта страниц обсуждения — помочь участникам легче общаться на вики. Этот проект является результатом консультации по страницам обсуждения 2019 года.
Команда сейчас создает новый инструмент для ответа на комментарии. Эта ранняя версия может автоматически подписывать и делать отступы в комментариях. Пожалуйста, протестируйте новый инструмент «Ответить».
Чтобы узнать больше об обновлениях Editing Team, добавьте свое имя в раздел «Принять участие» на странице проекта. Вы также можете посмотретьэти страницы: главная страница проекта, обновления, ответы и тестирование пользователей.
– PPelberg (WMF) (обс.) & Whatamidoing (WMF) (обс.) 15:45, 13 апреля 2020 (UTC)
Прочитайте это на другом языке • Список подписки
В этом выпуске бюллетеня Editing содержится информация о проекте Wikipedia:Talk pages , который призван облегчить участникам общение на вики. Центральная страница проекта находится на MediaWiki.org.
@
. Вы можете протестировать новые функции в бета-кластере. Некоторые другие вики получат возможность попробовать бета-функцию в ближайшие месяцы.– Whatamidoing (WMF) ( обсуждение ) 18:11, 15 июня 2020 (UTC)
Семь лет назад на этой неделе команда редактирования сделала визуальный редактор доступным по умолчанию для всех авторизованных редакторов, использующих десктопный сайт в английской Википедии. Вот что произошло с момента его появления:
Whatamidoing (WMF) ( обсуждение ) 02:06, 3 июля 2020 (UTC)
Читайте это на другом языке • Список подписчиков на эту рассылку
Инструмент «Ответить» доступен в качестве бета-функции в арабской, голландской, французской и венгерской Википедиях с 31 марта 2020 года. Первый анализ показал положительные результаты.
Команда редактирования выпустила инструмент «Ответить» в качестве бета-функции в восьми других Википедиях в начале августа. Эти Википедии на китайском, чешском, грузинском, сербском, сорани (курдский), шведском, каталонском и корейском языках. Если вы хотите использовать инструмент «Ответить» в своей вики, сообщите об этом User talk:Whatamidoing (WMF) .
Инструмент «Ответить» все еще находится в активной разработке. По запросу голландской Википедии и других редакторов вы сможете настроить сводку правок. (Сводка правок по умолчанию — «Ответить».) Функция «пинг» доступна в визуальном режиме редактирования инструмента «Ответить». Эта функция ищет имена пользователей. По запросу арабской Википедии каждая вики сможет установить свой собственный предпочтительный символ для пингования редакторов. По запросу редакторов японской и венгерской Википедий каждая вики может определить предпочтительный префикс подписи на странице MediaWiki:Discussiontools-signature-prefix . Например, некоторые языки пропускают пробелы перед подписями. Другие сообщества хотят добавить тире или неразрывный пробел.
Далее команда будет работать над инструментом для быстрого и легкого начала нового раздела обсуждения на странице обсуждения. Чтобы следить за разработкой этого нового инструмента, добавьте страницу проекта New Discussion Tool в свой список наблюдения.
Whatamidoing (WMF) ( обсуждение ) 18:47, 31 августа 2020 (UTC)
Читайте это на другом языке • Список подписчиков на эту рассылку
Инструмент «Ответить» доступен в большинстве других разделов Википедии.
Исследовательские заметки:
Новый инструмент для начала новых обсуждений (новых разделов) присоединится к инструментам обсуждения в Special:Preferences#mw-prefsection-betafeatures в конце января. Вы можете попробовать инструмент самостоятельно.[23] Вы можете оставить отзыв в этой теме или на странице обсуждения.
Во время консультации по страницам обсуждения 2019 года редакторы заявили, что должно быть проще узнавать о новой активности в беседах, которые им интересны. Проект «Уведомления» только начинается. Что поможет вам узнавать о новых комментариях? Что работает с текущей системой? Какие страницы в вашей вики следует изучить команде? Пожалуйста, опубликуйте свой совет на mw:Talk:Talk pages project/Notifications.
– Whatamidoing (WMF) ( обсуждение ) 01:02, 23 января 2021 (UTC)
Читайте это на другом языке • Список подписчиков на эту рассылку
Ранее в этом году команда редактирования провела масштабное исследование Reply Tool. Главной целью было выяснить, помогает ли Reply Tool новым редакторам общаться на вики. Второй целью было выяснить, нужно ли отменять комментарии, которые новые редакторы оставляли с помощью инструмента, чаще, чем комментарии, которые новые редакторы оставляли с помощью существующего редактора страниц викитекста.
Основные результаты:
Эти результаты дают команде редакторов уверенность в том, что инструмент полезен.
Взгляд вперед
Команда планирует сделать инструмент «Ответить» доступным для всех в качестве опции отказа в ближайшие месяцы. Это уже произошло в арабской, чешской и венгерской Википедиях.
Следующий шаг — решить техническую проблему. Затем они сначала развернут инструмент «Ответить» в Википедиях, которые участвовали в исследовании. После этого они поэтапно развернут его в других Википедиях и во всех вики, размещенных на WMF.
Вы можете включить «Инструменты обсуждения» в бета-функциях уже сейчас. После того, как вы получите инструмент «Ответить», вы сможете изменить свои настройки в любое время в Special:Preferences#mw-prefsection-editing-discussion .
– Whatamidoing (WMF) ( обсуждение )
00:27, 16 июня 2021 (UTC)
Прочитайте это на другом языке • Список подписчиков на многоязычную рассылку • Локальный список подписчиков
Инструмент New topic помогает редакторам создавать новые ==Sections== на страницах обсуждений. Новые редакторы более успешны с этим новым инструментом. Вы можете прочитать отчет. Скоро команда редактирования предложит это всем редакторам большинства вики, размещенных на WMF. Вы можете присоединиться к обсуждению этого инструмента для английской Википедии по адресу Wikipedia:Village pump (proposals)#Enabling the New Topic Tool by default . Вы сможете отключить его в инструменте или в Special:Preferences#mw-prefsection-editing-discussion .
Команда редактирования планирует изменить внешний вид страниц обсуждения . Это не связано с изменениями, внесенными проектом mw:Desktop improves, и появится как в Vector 2010, так и в Vector 2022. Цель состоит в том, чтобы добавить некоторую информацию и сделать так, чтобы обсуждения выглядели визуально отличными от статей энциклопедии. Вы можете увидеть некоторые идеи на Wikipedia talk:Talk pages project#Prototype Ready for Feedback .
Whatamidoing (WMF) ( обсуждение )
23:14, 30 мая 2022 (UTC)
Прочитайте это на другом языке • Список подписчиков на эту многоязычную рассылку
Новая кнопка [подписаться] уведомляет людей, когда кто-то отвечает на их комментарии. Она помогает новичкам получать ответы на свои вопросы. Люди отвечают быстрее. Вы можете прочитать отчет. Команда редактирования включает этот инструмент для всех. Вы сможете отключить его в своих настройках .
– Whatamidoing (WMF) ( обсуждение ) 00:35, 26 августа 2022 (UTC)
Читайте это на другом языке • Список подписчиков на эту рассылку
В этом информационном бюллетене содержатся два ключевых обновления о работе команды редакторов:
Проект страниц обсуждения
Команда редактирования почти закончила первую фазу проекта страниц обсуждения. Почти все новые функции теперь доступны в бета-версии функций для инструментов обсуждения .
Он покажет информацию об активности обсуждения, например, дату последнего комментария. Скоро появится новая кнопка «Добавить тему». Вы сможете отключить их в Special:Preferences#mw-prefsection-editing-discussion . Пожалуйста, сообщите им, что вы думаете.
Завершено A/B-тестирование инструментов обсуждения на мобильном сайте. Редакторы добились большего успеха с инструментами обсуждения. Команда редактирования включает эти функции для всех редакторов на мобильном сайте.
Новый проект: проверка редактирования
Команда редактирования начинает проект, чтобы помочь новым редакторам Википедии. Он поможет людям определить некоторые проблемы, прежде чем они нажмут «Опубликовать изменения». Первый инструмент будет поощрять людей добавлять ссылки при добавлении нового контента. Пожалуйста, следите за этой страницей для получения дополнительной информации. Вы можете присоединиться к телефонной конференции 3 марта 2023 года, чтобы узнать больше.
– Whatamidoing (WMF) ( обсуждение ) 18:19, 22 февраля 2023 (UTC)