Я хотел бы использовать веб-инспектор WebKit в пользовательском браузере на основе WebKit в OS X. Можно ли использовать веб-инспектор для объекта веб-просмотра? Если да, то как?
Есть ли способ использовать веб-инспектор WebKit из объекта Cocoa WebView?
Ответы (5)
Установите WebKitDeveloperExtras
на YES
в настройках пользователя по умолчанию при отправке -[NSUserDefaults registerDefaults:]
. Конечно, это относится ко всему приложению.
Помните, что пользователь может изменить его на NO
, поэтому не думайте, что это YES
— если это имеет значение (например, при настройке контекстного меню), всегда проверяйте.
Предупреждение. Этот параметр не обязательно включает только инспектор элементов. Apple может расширить его в будущем, чтобы также управлять, скажем, меню отладки в строке меню. Вы можете счесть это неприемлемым риском.
ДЕЙСТВИТЕЛЬНО простой способ сделать это... в терминале.... ⌘ ⬆ ☺
defaults write com.yourcompany.yourbundleid WebKitDeveloperExtras TRUE
(В OSX 10.8 вместо этого используйте defaults write com.yourcompany.yourbundleid WebKitDeveloperExtras -bool true
).
ПРИМЕЧАНИЕ. Вы ДОЛЖНЫ изменить com.yourcompany.yourbundleid
на ВАШИ конкретные "приложения" (или любое приложение компании bundle ID
) до это сработает!**
Хорошая вещь в этом... нет НИКАК забыть вынуть его, выключить, закомментировать и т. д.... Это ЛОКАЛЬНАЯ настройка ... и может быть установлен для ЛЮБОГО приложения с поддержкой webkit... Если вы не видите меню разработчика или чего-то еще... не волнуйтесь...
Право☝ (щелкните) в веб-просмотре и перейдите к «Показать инспектор».
Кроме того, в том же духе следующее может также сделать что-то... но я не пробовал, так что не уверен..
defaults write com.yourcompany.yourbundleid IncludeDebugMenu 1
defaults write com.yourcompany.yourbundleid WebKitDeveloperExtras -bool true
, чтобы это сработало.
- person thomthom; 21.11.2013
Apple рекомендует а>:
defaults write com.example.myApp WebKitDeveloperExtras -bool true
Однако, насколько я могу судить, это может больше не работать, если вы запускаете приложение вне песочницы (что вам может понадобиться на некоторых этапах разработки). Если вы столкнетесь с этой проблемой, мне помогло установить значение для ключа WebKitDeveloperExtras в NSGlobalDomain:
defaults write NSGlobalDomain WebKitDeveloperExtras -bool true
в моем случае (MacOSX 10.6.5) это не сработало.
Мне пришлось сделать следующее в методе windowDidLoad моего webView WindowController:
/* Initialize webInspector. */ [[NSUserDefaults standardUserDefaults] setBool:TRUE forKey:@"WebKitDeveloperExtras"]; [[NSUserDefaults standardUserDefaults] synchronize];
Я пытался сделать это, но не мог видеть веб-инспектора.
Разве это не то же самое, что и [[NSUserDefaults standarduserDefaults] registerDefaults:[NSDictionary dictionaryWithObject:[NSNumber numberWithBool:YES] forKey:@"WebKitDeveloperExtras"]]
?