Возвращаем старый Web Inspector в Safari 6

в 9:10, , рубрики: butthurt, mac os x, OS X, safari, safari 6, метки: , ,

Уверен, что я не одинок в своих мучениях с новыми devtools в новом Safari. И когда они в очередной раз меня одолели, я, как человек разумный, обратился за помощью к гуглу.

Гугл предложил мне несколько вариантов избавления от страданий:

  1. воспользоваться меню Develop > Use WebKit Web Inspector
  2. штормить поддержку Apple
  3. использовать WebKit вместо Safari

Первый вариант мне не подошел по причине отсутствия такового пункта меню в имеющихся билдах Safari.
Второй не подошел из-за мaлой вероятности положительного исхода.
Третий не устроил тем, что WebKit конфликтовал с каким-то установленным в Safari расширением и при попытке открыть любую страницу немногим сложнее ya.ru вешался намертво. Разбираться с этим было влом, да и плодить зоопарк из браузеров не очень хотелось (у меня их итак штук семь установлено).
Если вас не смущает WebKit, то можете смело его использовать и дальше не читать.

Так как WebKit не особо отличается от Safari, и в нём присутствуют и старые и новые devtools, я полез ковырять его внутренности. В итоге в его недрах была обнаружена директория inspector, натолкнувшая на вполне понятные мысли, которые в результате секаса с различными билдами и привели к решению поставленной задачи.

Результат

Рецепт

Для лентяев ниже размещен инсталлятор, который всё сделает сам.
Для любознательных по порядку:

  1. Загружаем WebKit и монтируем образ
  2. Копируем файлы из директории /Volumes/WebKit/WebKit.app/Contents/Frameworks/10.7/
    WebCore.framework/Versions/A/Resources/inspector
    в /System/Library/PrivateFrameworks/WebInspector.framework/Versions/Current/Resources
  3. Переименовываем inspector.html в Main.html
  4. Наслаждаемся

Тоже самое машинопонятным языком:

# make original inspector backup
sudo cp -RH /System/Library/PrivateFrameworks/WebInspector.framework /System/Library/PrivateFrameworks/WebInspector.framework.backup

# copy WebKit inspector
sudo cp -RH /Volumes/WebKit/WebKit.app/Contents/Frameworks/10.7/WebCore.framework/Versions/A/Resources/inspector/* /System/Library/PrivateFrameworks/WebInspector.framework/Versions/Current/Resources
sudo mv /System/Library/PrivateFrameworks/WebInspector.framework/Versions/Current/Resources/inspector.html /System/Library/PrivateFrameworks/WebInspector.framework/Versions/Current/Resources/Main.html

Как вы могли заметить на видео, я немного раскрасил инспектор. Способ был позаимствован тут и немного адаптирован к Safari.
Если вам не нравится такое оформление, достаточно выполнить в консоли:

sudo sed -i'.bak'  '2781,$d' /System/Library/PrivateFrameworks/WebInspector.framework/Versions/A/Resources/inspector.css

и перезапустить Safari.

Тестировалось на Safari 6.0.1 и 6.0.2 на английской и русской системах (10.8.2). Существенных косяков выявлено не было.

Всем приятного dev-a.

Инсталлятор

Автор: DevMan

Источник


* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js