Как стать автором
Обновить
7.41

Google Chrome

Браузер от Gooogle

Сначала показывать
Порог рейтинга
Уровень сложности

От клика до железа: хроника одного запроса. Часть 1

Уровень сложностиСредний
Время на прочтение20 мин
Количество просмотров571

Увлекались ли вы когда-нибудь задачей так сильно, что полностью выпадали из жизни? Я — да. Писал код, разбирался с нюансами, тестировал, переделывал, снова тестировал… В какой-то момент мой друг, давно не слышавший обо мне, решил узнать, куда я пропал. Мы созвонились, и я рассказал, чем занимаюсь. Он послушал, усмехнулся: «Как же хорошо, что я выбрал бэкенд-разработку».

На самом деле ничего сверхъестественного в этой задаче не было. Но и простой её тоже не назовёшь — архитектура сложилась под влиянием множества ограничений: браузер не может напрямую запускать exe-файл, бэкенд не имеет доступа к локальному оборудованию, а взаимодействие между всеми этими частями нужно было выстроить чётко и последовательно.

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

В этой статье я расскажу, как построить такую связку с помощью механизма Native Messaging: от интерфейса в браузере до запуска локального exe. Разберём архитектуру, покажу, какие задачи решает этот подход, и напишем рабочий пример — расширение, которое сможет общаться с программой на C.

Так что устраивайтесь поудобнее и давайте разбираться.

Читать далее

Новости

Топ 3 расширения Chrome для автоматизированного тестирования

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров7K

Когда речь идет о браузерных расширениях для веб-тестирования, перед тестировщиком открывается огромное количество инструментов. Однако большинство из них (около 90%) предназначены исключительно для ручного тестирования. Лишь небольшая часть расширений помогает автоматизировать тестирование без навыков программирования, и совсем немногие действительно специализируются на поддержке автоматизированных тестов.

В этой статье я собрал лучшие расширения, которые будут полезны разработчикам автотестов для веб-приложений. Здесь не будет инструментов для нагрузочного тестирования, работы с API или узкоспециализированных расширений для конкретных фреймворков. Мы сосредоточимся только на тех, что максимально полезны широкому кругу специалистов по автоматизации тестирования.

Читать далее

ChromeOS или как сделать из вашего ПК подобие планшета с возможность запускать Linux и Adroid софт

Уровень сложностиПростой
Время на прочтение10 мин
Количество просмотров10K

Установка Chrome OS на обычный ПК с поддержкой Android Приложений, различия ChromeOS Flex и версии для Chromebook, Сравнение их, подробная установка каждой из них.

Читать далее

Загадочные проблемы браузинга: почему некоторые сайты не грузятся в Chrome?

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров36K

Меня зовут Эрик, я инженер технической поддержки в компании Shortcut. Недавно я столкнулся с интересным тикетом: пользователи жаловались, что некоторые сайты не открываются в Google Chrome, но при этом прекрасно работают в других браузерах.

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

Читать далее

Пишем простое расширение для браузера

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров7.9K

Всем привет! В этом туториале я хотел бы описать создание расширения для браузера на основе Chromium (Google Chrome, Brave, Яндекс Браузер и др.).

Расширения для браузеров создаются с использованием веб-технологий: HTML, CSS и JavaScript/TypeScript и все. Можно конечно еще использовать либы React, JQuery или фрейворки Vue например, но можно обойтись Vanilla JS.

Читать далее

Инструменты для анализа производительности сайта

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров2.2K

В этой статье речь пойдет об инструментах, с помощью которых можно проанализировать качество спроектированного front-end разработчиком сайта. В качестве наглядного материала используется проект, реализованный на базе Next.js 14-й версии с app router.

Читать далее

Popover = hint

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров1.9K

Chrome 133 развивает существующую функцию всплывающих подсказок, представляя новый режим: popover="hint". Этот режим, управляемый браузером, позволяет использовать новый контекст наложения, упрощающий создание всплывающих подсказок и подобных эфемерных плавающих элементов. Он снижает трудозатраты разработчиков, сохраняя гибкость дизайна.

Читать далее

Отладка JavaScript в Chrome DevTools для начинающих фронтендеров

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров11K

Привет, Хабр! Я – Рома, front-end разработчик в компании «АйТи-Баланс». Мне не понаслышке известно, насколько ресурсозатраным (в плане времени и сил) может быть поиск и исправление ошибок в JS. Новичкам этот процесс может показаться неподъёмным камнем, но только до знакомства с отладкой в инструментах разработчика, встроенных в браузер. О ней я и расскажу, причём затрону не console.log, а куда более эффективную альтернативу.

Читать далее

Как узнать email любого владельца YouTube-канала

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров9.4K

Когда я копался в документе Internal People API (Staging) Google, то вдруг заметил кое-что интересное...

Читать далее

Flutter: Создание расширения «Получение ссылок для онлайн-кинотеатров» для Chrome

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров886

Привет, я автора телеграм-канала FlutterPulse, хотел поделиться с пользователями хабра расширением для Google Chrome, а также способом его создания.

Расширение создано для получения ссылок для программы yt-dlp для последующего скачивания файлов локально. Пока поддерживается только сайт телеканала Пятница friday.ru

Для кого данная статья: Люди, которые не имеют отношения к программированию, но хотят скачать файл локально и самостоятельно

Люди, которые хотят самостоятельно написать расширение для браузера на языке Flutter

Читать далее

Почему именно в Chrome под Windows на сайтах не работают эмодзи флагов

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров7.1K

Предположим, вы захотели приукрасить в UI своего сайта опцию выбора страны/языка симпатичными эмодзи флагов. Превосходно! Это создаст дополнительный визуальный ориентир, который поможет пользователям быстро находить нужную страну, да и в целом это просто красиво.

Более того, вы даже можете легко реализовать динамическое определение иконок на основе кода региона:

// Смещение для корректировки кода ASCII каждого символа в строке кода ISO страны для определения соответствующего флага.
const EMOJI_CHARACTER_OFFSET = 127397;

const getEmojiForCountryCode = (countryCode: string) =>
  String.fromCodePoint(
    ...countryCode
      .toUpperCase()
      .split('')
      .map((char) => char.charCodeAt(0) + EMOJI_CHARACTER_OFFSET),
  );

// "en-US"
const currentLanguageCode = navigator.language;
// "US"
const currentCountryCode = currentLanguageCode.split("-")[1];
// "🇺🇸"
getEmojiForCountryCode(currentCountryCode);
// "🇫🇷"
getEmojiForCountryCode("FR");
// "🇸🇪"
getEmojiForCountryCode("SE");

Всё идёт шикарно!

Как вдруг…
Читать дальше →

От jsPDF к Chrome: решение сложной задачи рендеринга PDF с таблицами

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров1.2K

Кейс про генерацию PDF из HTML страницы с таблицами. Расскажу какие решения пытался применить, с какими проблемами пришлось столкнуться и как удалось сгенерировать корректный PDF.

Читать далее

Извлечение паролей из разных браузеров

Время на прочтение3 мин
Количество просмотров7.8K


Если пользователь забыл мастер-пароль от парольного менеджера Bitwarden, 1Password, KeepassXC, то пароли невозможно восстановить. Другое дело — встроенные парольные менеджеры браузеров Chrome и Firefox, для расшифровки которых есть специальные инструменты. Этот факт следует иметь в виду при хранении пользовательских данных — и не допускать, чтобы злоумышленник получил физический или удалённый доступ к компьютеру с правами пользователя.

Примечание: перечисленные ниже инструменты не работают с последними версиями браузеров и приведены исключительно в информационно-образовательных целях.
Читать дальше →

Ближайшие события

Топ 7 лучших расширений Chrome для ручных тестировщиков

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров14K

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

Основываясь на своем ежедневном опыте, хочу рассказать о расширениях, которые по моему скромному мнению, должны быть в арсенале каждого ручного тестировщика веб-приложений/

Читать далее

Как превратить свой пет проект из хобби в карьеру

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров27K

Привет, Хабр!

Меня зовут Алексей Хрисанфов. В этой статье я хочу рассказать почему и как ваши pet-проекты могут стать ключом к развитию вашей карьеры и почему нельзя недооценивать важность pet-проектов.

Читать далее

Подмания: запускаем графические приложения в контейнерах. Часть 2

Уровень сложностиСредний
Время на прочтение12 мин
Количество просмотров3.3K

Привет, Хабр!

Это вторая статья о контейнеризации как стиле повседневного использования графических приложений в ОС Линукс.

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

Посему, без долгих предисловий, ныряем под кат!

Читать далее

Как я психанул и написал свой менеджер закладок

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров12K

Я менеджер менеджеров, отвечаю за разные команды с разными фокусами. У каждой команды свои проекты. В каждом проекте есть по несколько Миро-досок, гугл-доков, доков в конфлюенсе, эпик в джире и еще горка ВАЖНЫХ ссылок!

Все это богатство надо как-то организовать и перестать, наконец, дергать в слаке коллег с вопросом: "А напомни, плз, ссылку на...".

Читать далее

Расширения Chrome с боковой панелью

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров3.5K

Около года назад (30 мая 2023, если быть более точным) в Хроме появилась возможность отображать интерфейсные элементы расширений не только во всплывающем окне (popup.html), но и в боковой панели которая отображается сбоку (справа) от текущей отображаемой страницы. Внешне боковая панель расширения похожа на боковые панели, встроенные в сам браузер, такие как «Show all bookmarks» или «Grouped history». На мой взгляд, у этой фичи большой потенциал: В таком формате можно пробовать реализовать более сложные сценарии взаимодействия с пользователем, включающие как более сложный интерфейс расширения, так и стандартные возможности взаимодействия с текущей открытой страницей. При этом мне показалось что новость об этом релизе прошла ниже радаров и в публикациях тема использования этой боковой панели оказалась недостаточно раскрыта, так что я решил написать эту обзорную статью (в первую очередь, в надежде на содержательные комментарии по теме со стороны тех, у кого есть опыт в разработке расширений).

Вначале кратко скажу о технических аспектах. Затем будет небольшой обзор некоторых возможных вариантов использования. И в конце расскажу про небольшое расширение, которое я «разработал» сам.

Для желающих получить начальные представления о разработке расширений для Хрома думаю может быть полезно предварительно ознакомиться с этой статьей (хотя я наверно предложил бы для таких упражнений вместо ChatGPT попробовать использовать Курсор с Композером и новым Клодом).

Читать далее

Что нового в Chrome 130?

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров3.4K

Вот что вам нужно знать:

Document "picture-in-picture" дает вам больше возможностей для управления окнами "picture-in-picture".

Вложенные объявления в CSS - исправление некоторых сложных ситуаций.

Вы можете задать поведение декораций для элементов, которые разделяются на несколько строк.

И многое другое.

Читать далее

Пару ласковых о GMail

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров77K

Если многобукв - переходите к разделу TLDR ниже

Навеяно этой статьёй. У меня схожая ситуация, только меня не взламывали. Я просто в один момент полностью утратил возможность зайти в свою электронную почту. Надеюсь данная информация поможет кому-то избежать подобной участи.

Я пользуюсь GMail уже лет 20, с момента его появления, с тех пор как появились и предложили невиданный по тем временам гигабайт бесплатного места. А ещё отличный веб-клиент и антиспам. С тех данный продукт Корпорации если не Добра, то по крайней мере Нейтралитета стал №1 для меня и даже не мыслил о чём-либо другом. Нужно создать ящик под какую-то задачу? В первую очередь всегда шёл на Google Mail. Пока недавно Gmail не сказал мне "да не пошёл бы ты в известном направлении", после чего я впервые в жизни всерьёз задумался об альтернативах.

Дело вот в чём. Пару лет назад я создал аккаунт в одной видеоигре, к нему зарегистрировал ящик в Gmail, он использовался только для принятия писем с кодом при входе в игру, больше ни для чего. В эту игру я захожу раз в год, в ящик соответственно тоже, он для меня третьестепенной важности, поэтому мне даже в голову не приходило подключать какие-то дополнительные средства входа вроде 2FA или одноразовых ключей. Я бережно придерживаюсь сетевой гигиены, меня не взламывают и аккаунты не угоняют. И даже если это вдруг произойдёт - большой трагедией не станет, ну потрачу лишние 5 минут своего времени и воспользуюсь функцией восстановления доступа к аккаунту, ведь у мега-корпорации Google с более чем двадцатилетним опытом на рынке наверняка есть развитые средства восстановления доступа, не так ли?

Читать далее
1
23 ...