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

Firefox

Свободный браузер на движке Gecko

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

Разработка расширения для firefox, или мой первый опыт, на примере скриншотера

Время на прочтение7 мин
Количество просмотров18K
После написания статьи Системные скрипты на php для linux, пишем скриншотер, у меня появилась идея «А почему бы, не написать расширение которое завязать на мой скрипт, с возможностью автоматической выгрузки на яндекс диск.»… Почитав документацию о разработке расширений я решил всё же начать писать.

image

Вот это маленькая кнопочка и скриншот на яндекс диске, результат прототипа расширения, написаного за пару часов. О процессе его создание под катом…
Поехали!
Всего голосов 34: ↑26 и ↓8+18
Комментарии32

Код Rust включен в Firefox 48

Время на прочтение3 мин
Количество просмотров32K
Компонент, написанный на Rust, впервые заменил компонент на C++ в браузере Firefox, и это только начало!

Mozilla любит Rust


Трудно поверить, что прошло почти семь лет с тех пор как Mozilla Research впервые начала спонсировать разработку Rust — системного языка программирования, нацеленного на безопасную работу с памятью, скорость и параллельное выполнение кода. В то время это был не более чем амбициозный исследовательский эксперимент, вокруг которого образовалось небольшое, но преданное сообщество. Удивительно, что несмотря на долгую историю изобретений и открытий, Rust сохранил свой ключевые принципы. Изначально разработчики хотели создать безопасную альтернативу C++, повысить эффективность системного программирования, защитить критическое программное обеспечение от эксплоитов памяти, упростить работу с параллельными алгоритмами — вот почему Mozilla поддержала проект Rust и, в конечном счёте, начала использовать Rust в стабильной версии браузера.
Читать дальше →
Всего голосов 58: ↑51 и ↓7+44
Комментарии86

Собираем ваш первый WebAssembly-компонент

Время на прочтение6 мин
Количество просмотров29K
Когда я впервые услышал о технологии WebAssembly — она сразу показалось мне крутой вещью и мне сразу захотелось попробовать её в деле. От первого желания, до чего-то работающего мне, однако, пришлось потратить немало времени и порой испытать кое-какие разочарования. Для того, чтобы сохранить ваше время и ваши нервы, если вам захочется повторить тот же путь, и написана данная статья.

image
Предупреждение читателю

Эта статья написана 24-го июня 2016-го года. Поскольку WebAssembly очень молодая и динамично развивающаяся технология, со временем многие описанные в данной статье вещи устареют или полностью изменятся — учитывайте это.

А теперь поехали.

Что такое WebAssembly?

Официальная документация говорит следующее: «WebAssembly или wasm это новый портабельный, эффективный по размеру и скорости загрузки формат компиляции для веба». Эм-м-м-м… Что? Формат чего? Текстовый или бинарный? Да, это откровенно плохое описание. Так что убирайте уже ваши баззворд-бинго карточки и я, на основе моего опыта, дам своё определение:

«WebAssembly или wasm это спецификация байткода для написания производительных, браузеро-независимых компонентов для веба». Это определение, тоже, конечно, не вершина эпистолярного жанра, но я попробую его дополнить. WebAssembly позволяет повысить производительность с помощью использования статически типизированных переменных, которые обходятся на рантайме значительно дешевле динамических. WebAssembly разрабатывается W3C Community Group и планируется быть внедрённым во все основные браузеры. И с этого момента на стол выкладывается киллер-фича: вы сможете писать код веб-компонентов на любом языке программирования.

Теперь звучит лучше, неправда ли?
Читать дальше →
Всего голосов 48: ↑44 и ↓4+40
Комментарии30

Спасём Firefox

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


Автор — Кори Доктороу, от имени Фонда электронных рубежей. Это воззвание адресовано в первую очередь американским пользователям интернета, но важно не только для них, а для всех, потому что решается наша общая судьба. Сейчас определяется будущее свободного Веба.

Давным-давно было два браузера, которыми пользовались почти все: Netscape и Internet Explorer, связанные в смертельной битве за будущее Интернета. Они сильно разошлись друг от друга, чтобы склонить веб-издателей оптимизировать свои сайты каждый под свой браузер в надежде, что пользователи последуют за ними.

Затем произошёл перелом: открытый, некоммерческий браузер Mozilla выделился из Netscape и поставил перед собой другую задачу: служить не издателям, а самим пользователям. Mozilla по умолчанию блокировала всплывающие окна с рекламой, бич раннего интернета. Это был шаг, который не мог позволить себе ни один из основных браузеров, потому что издатели были уверены, что не выживут без такой рекламы, и любой браузер со встроенной блокировкой отвернул бы от себя издателей, что многое значило в конкурентной борьбе.
Читать дальше →
Всего голосов 68: ↑56 и ↓12+44
Комментарии167

Истории

Project Tofino — новый браузер от Mozilla

Время на прочтение1 мин
Количество просмотров47K
image
Концепт дизайна и функционала нового браузера. Кликабельно

Компания Mozilla тихо, без лишнего шума, анонсировала в эту пятницу запуск нового проекта — Project Tofino в его собственном блоге на medium, который некоторые уже успели окрестить «убийцей Firefox».

Для подобного мнения есть все основания. Последние годы Firefox стремительно теряет свою долю на рынке, не выдерживая натиска Google Chrome. Project Tofino призван радикально изменить облик браузера от Mozilla и обновить его, тем самым положить начало «возвращению» утраченной доли рынка. Команда Tofino пока состоит всего из шести человек. Именно они и займутся проектированием и дизайном нового продукта компании.
Читать дальше →
Всего голосов 30: ↑25 и ↓5+20
Комментарии177

Почему мы ненавидим уведомления на сайтах?

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


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

Но ведь в самом деле:

Лезут из всех щелей, пытаясь заставить нажать вас заветную кнопку. Возникают при каждом переходе на сайте. Вылезают в самые неудачные моменты и мешают вам жить. Разберем подробно, почему мы (а именно вы) не любим уведомления на сайтах.
Читать дальше →
Всего голосов 41: ↑28 и ↓13+15
Комментарии54

Автоматическое обновление расширений Firefox

Время на прочтение8 мин
Количество просмотров9.4K
Предлагаю вашему вниманию перевод статьи Automatic Firefox Extension Updates.

Статья старенькая, но вся информация актуальна и по сей день.


Разработчики расширений Firefox конечно знают, что при распространении расширений через официальный store вы бесплатно получаете возможность автоматически обновлять свои расширения. Но что делать, если мы хотим сами хостить свое расширение на своем сайте? Как нам самим реализовать поддержку автоматических обновлений?
Давайте разберемся
Всего голосов 23: ↑18 и ↓5+13
Комментарии17

Многопроцессный Firefox 44.b, оптимизация Electrolysis

Время на прочтение4 мин
Количество просмотров38K
Так уж сложилось, что Firefox использует однопроцессную модель, и реальность такова, что такой подход с учётом динамики развития сети и частичной связки с XUL вызывает, мягко говоря, много неудобств. Один процесс должен обрабатывать несколько потоков, что очень сильно сказывается на производительности браузера в целом. Отзывчивость Firefox оставляла желать лучшего, когда тот же Google Chrome прекрасно рендерил тяжёлые страницы, что никак не сказывалось на производительности других вкладок.

Такое положение вещей заставляло многих переходить на хром, а кто не хотел — искал пути решения в виде разного рода оптимизаций, которые по большому счёту из-за нелогичного подхода распределения потоков или банального желания настрочить что-то в блог просто усугубляли ситуацию. Теперь один процесс должен был не просто работать, а очень быстро работать! В конечном итоге и разработчики сами прекрасно понимали, что одно дело — мало памяти, другое — низкая скорость работы, которая в основном оправдана старыми связками с XUL. На деле: открываем в Firefox несколько вкладок сразу, скролим их и в момент загрузки видим, что все тормозит — ни о каком плавном серфинге речи быть не могло.
Читать дальше →
Всего голосов 25: ↑20 и ↓5+15
Комментарии50

Уведомления на разных платформах, какие они бывают? Бонус на смарт-часах Moto 360

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


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

Мы расскажем о том, как выглядят различные типы уведомлений на Chrome, Android, Safari, Firefox, iOS. Какие мы используем, какие можно использовать и не много о том, как оно работает.

Кстати попробовать практически все типы можно на нашем сайте.
Читать дальше →
Всего голосов 14: ↑12 и ↓2+10
Комментарии7

Firefox 42 с новым «приватным» режимом доступен в Бета-тесте

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

После релиза последней стабильной версии Firefox 41 позавчера, 22 сентября, Mozilla опубликовала следующую beta-версию своего браузера — Firefox 42. Продукт доступен для тестирования на всех основных платформах: Windows, Mac, Linux и Android. Сорок вторая версия браузера несет в себе массу нововведений и пару киллер-фич, в том числе и экспериментальный приватный режим просмотра веб-страниц с защитой от слежения за пользователем.

Из новых функций сорок второй версии наибольший интерес для широкой публики представляет именно он, новый приватный режим просмотра веб-страниц. Firefox будет не просто «не сохранять» историю посещений, куки и кэш, как это делает, например, Chrome, а блокировать средства отслеживания пользовательской активности при помощи внутренних средств защиты.
Читать дальше →
Всего голосов 29: ↑24 и ↓5+19
Комментарии34

ES6 в деталях: прокси

Время на прочтение11 мин
Количество просмотров23K
Ряд публикаций Джейсона Орендорфа ES6 In Depth посвящен ES6, который добавили в язык программирования JavaScript в 6 итерации ECMAScript.

Сегодня будем делать такие штуки:



Немного сложно для первого примера. Подробнее объясню позже, пока что посмотрим, что за объект мы создали.
Читать дальше →
Всего голосов 31: ↑30 и ↓1+29
Комментарии4

Новый русский K-Meleon 75 для настоящих Pro

Время на прочтение8 мин
Количество просмотров13K
Долго ли коротко ли, а таки прошли мы большую дорогу от желания возродить известную русскую сборку K-Meleon Pro до собственно ее выхода.

На самом деле Pro-сборка вышла еще в августе, но все не было времени написать о ней, да и подвыловили мы блох за прошедшее время. Сегодня сборка была повторно опубликована со всеми новейшими добавками и фиксами, и можно с чистой совестью написать о ней статейку.
Все про K-Meleon Pro
Всего голосов 20: ↑16 и ↓4+12
Комментарии10

Определяем, что у пользователя заблокирована Википедия

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

Недавно Роскомнадзор предпринял попытку блокировки доступа с территории РФ к Википедии. Попытка провалилась, и самое время перейти в контрнаступление. В статье под катом я покажу, что, если пользователь Х зашёл на сайт А, то сайт А может определить, заблокирован ли для пользователя другой сайт Б. А дальше, по намечающейся традиции, изложение пойдёт в вопросно-ответной форме.

Для чего это вообще нужно?


При обсуждении блокировки Википедии сообщество заметило два обстоятельства, которые весьма выгодны цензуре. Во-первых, Википедия использует HTTPS и, более того, HSTS. Это означает, что заблокирована энциклопедия может быть только целиком (с точностью до домена), но при этом перенаправить на пресловутую страницу с сообщением о блокировке нельзя. Вместо этого высвечивается сообщение об ошибке установления соединения. Это выглядит как внутренняя проблема Википедии и смягчает недовольство пользователя действиями Роскомнадзора; в то же время для развития правового государства необходима обратная связь. Во-вторых, даже если пользователи узнают о блокировке, многие из них просто не будут знать, что делать. Вешать перманентную плашку «Если заблокировали Википедию — качайте Tor Browser!» на неравнодушных сайтах как минимум странно; в то же время, оповещение пользователей о блокировке Википедии и способах её обхода необходимо. Решение поставленной проблемы и пытается дать настоящая статья.
Читать дальше →
Всего голосов 38: ↑31 и ↓7+24
Комментарии38

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

Firefox блокирует плагин Adobe Flash Player

Время на прочтение1 мин
Количество просмотров118K
Adobe Flash Player неоднократно подвергался критике за большое количество известных уязвимостей в коде продукта. Накануне руководитель подразделения Facebook, отвечающего за информационную безопасность, призвал Adobe объявить дату окончания использования Flash в браузерах. Ранее Google в рамках борьбы с уязвимостями в Flash Player перевел Youtube на HTML5.

Марк Шмидт, руководитель поддержки Firefox, заявил в своем твиттере, что отныне браузер Mozilla Firefox будет блокировать использование плагина Adobe Flash Player. Блокировка продлится до тех пор, пока не выйдет версия, устраняющая все известные на сегодняшний день уязвимости плагина.
Читать дальше →
Всего голосов 37: ↑32 и ↓5+27
Комментарии99

Насколько важно видеть URL сайта?

Время на прочтение1 мин
Количество просмотров30K
Добрый день, хабросообщество!

Стал интересен такой вопрос: насколько важно видеть URL сайта? Как-то года 2 назад осенним вечером делал веб-приложение, тестировал всё в популярном и по сей день браузере и обнаружил интересный по своей сути баг.
Читать дальше →
Всего голосов 29: ↑23 и ↓6+17
Комментарии41

K-Meleon 75: дошли до финала

Время на прочтение4 мин
Количество просмотров19K
Итак, свершилось: наш любимый браузер выпущен в финальном варианте 75-й версии.

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

Собственно, каким и должен быть релиз.

Полный список, новшеств, впрочем, выглядит одновременно и весьма внушительным, и относительно скромным.

И вот почему
Всего голосов 27: ↑19 и ↓8+11
Комментарии34

Делаем себя развидеть это, или Право на предварительную правку

Время на прочтение6 мин
Количество просмотров23K
Мы часто видим ошибки и опечатки в интернете. Как правило, принято или с достоинством пройти мимо, в глубине души презирая неграмотного (или невнимательного) писателя, или, наоборот, с увлечением развернуть просветительскую деятельность (не всегда, к сожалению, уважительную). В лучшем случае, если на сайте установлен Orphus — нажать Ctrl+Enter.

Так поступал и я, пока однажды с ужасом не заметил, что написал «вООбщем» или нечто подобное. Разрушительное влияние чтения форумов, да и, что уж там, самого Хабра, на читательскую грамотность — налицо. А между тем — сейчас есть многое, что могло бы облегчить участь наших бедных глаз!
Читать дальше →
Всего голосов 43: ↑38 и ↓5+33
Комментарии71

Страница about:about в Firefox

Время на прочтение4 мин
Количество просмотров53K
То, что иногда наблюдается в адресной строке пустой страницы «about:blank», для Мозиллы стало философией доступа к ресурсам браузера. Мало кто знает об этой философии, кроме просвещённых монахов, для которых адресная строка менее священна и более инструментальна, чем для остальных. Но трудно запомнить всё разнообразие свойств этой строки. Приоткрыть окно к просветлению помогает мантра «about:about». Сейчас, на момент версии 37, она открывает 34 варианта продолжений ссылок после двоеточия. Есть и недокументированные.

Шутники потирают руки: можно вызывать самые натуральные озадачивающие странички минимальными усилиями. Но есть и ряд полезных страниц. Цель списка ниже — выделить долю полезных страниц для продвинутого пользователя браузера.
Читать дальше →
Всего голосов 52: ↑46 и ↓6+40
Комментарии18

API для интернационализации JavaScript: реализация в Firefox

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

Что такое интернационализация?


Интернационализация (internationalization, а для краткости — i18n, то бишь i, ещё 18 букв и n; по-русски это получится и17я) – такой способ создания приложений, при котором их можно легко адаптировать для разных аудиторий, говорящих на разных языках. Очень легко ошибиться, предполагая, что все ваши пользователи происходят из одной местности и пользуются одним языком – особенно, если вы даже не задумываетесь о том, что предполагаете именно это.

function formatDate(d)
{
  // Все же пишут дату, как месяц/день/год. Правда ведь?
  var month = d.getMonth() + 1;
  var date = d.getDate();
  var year = d.getFullYear();
  return month + "/" + date + "/" + year;
}
 
function formatMoney(amount)
{
  // Все деньги – это доллары, с двумя знаками после запятой. Ведь так?
  return "$" + amount.toFixed(2);
}
 
function sortNames(names)
{
  function sortAlphabetically(a, b)
  {
    var left = a.toLowerCase(), right = b.toLowerCase();
    if (left > right)
      return 1;
    if (left === right)
      return 0;
    return -1;
  }
 
  // Имена всегда сортируются по алфавиту, не так ли?
  names.sort(sortAlphabetically);
}

Читать дальше →
Всего голосов 16: ↑15 и ↓1+14
Комментарии3

Кому может быть нужен K-Meleon?

Время на прочтение4 мин
Количество просмотров49K
Итак, поговорим о главном: зачем вообще нужен K-Meleon в наше время, когда вокруг стотыщ разных браузеров?

Зачем? Кому? Для чего?

Первый ответ, который обычно дают на этот вопрос – тем, у кого low-end или старые компьютеры. И это логично: на всех не новых системах КМ не один год имеет заслуженную репутацию ведущего полнофункционального легковеса.
Отчасти вынужденное отставание от «передовой» фронта разработки топ-браузеров КМ фактически обратил в свое преимущество как нишевого браузера для «олдтаймеров». Так на все еще довольно многочисленных компьютерах эры P4, доживающих свой век в сени WinXP, а то и Win2k, K-Meleon – едва ли не единственный современный браузер, позволяющий работать без зверских тормозов и ограничений.

И еще как минимум 6 ответов на эти вопросы
Всего голосов 41: ↑26 и ↓15+11
Комментарии99

Вклад авторов