【发布时间】:2009-03-29 17:54:10
【问题描述】:
我想在 OS X 上基于 WebKit 的自定义浏览器中使用 WebKit 网络检查器。是否可以在 webview 对象上使用网络检查器?如果有,怎么做?
【问题讨论】:
我想在 OS X 上基于 WebKit 的自定义浏览器中使用 WebKit 网络检查器。是否可以在 webview 对象上使用网络检查器?如果有,怎么做?
【问题讨论】:
一个真正简单的方法......在终端里...... ⌘ ⬆ ☺
defaults write com.yourcompany.yourbundleid WebKitDeveloperExtras TRUE
(对于 OSX 10.8,请改用 defaults write com.yourcompany.yourbundleid WebKitDeveloperExtras -bool true)。
注意:您必须将 com.yourcompany.yourbundleid 更改为您的特定“应用程序”(或任何公司的应用程序 bundle ID 可能) 之前这将起作用!**
这件事的好处...没有办法忘记将其取出、将其关闭、将其注释掉等...这是本地设置...并且可以为任何启用 webkit 的应用程序设置...如果您没有看到开发人员菜单或其他......不要担心......
Right☝(单击) 在 Web 视图上并转到“显示检查器”。
此外,按照同样的思路,以下可能会做一些事情。但我还没有尝试过,所以不确定..
defaults write com.yourcompany.yourbundleid IncludeDebugMenu 1
【讨论】:
defaults write com.yourcompany.yourbundleid WebKitDeveloperExtras -bool true 才能工作。
在您发送-[NSUserDefaults registerDefaults:] 时,在您的默认用户默认值中将WebKitDeveloperExtras 设置为YES。当然,这适用于整个应用程序。
请记住,用户可以将其更改为 NO,因此不要假设它是 YES——如果它很重要(例如,在自定义上下文菜单时),请务必检查。
警告:此首选项不一定只启用元素检查器。 Apple 可能会在未来扩展它以控制菜单栏中的调试菜单。您可能会发现这是不可接受的风险。
【讨论】:
苹果recommends:
defaults write com.example.myApp WebKitDeveloperExtras -bool true
但是,据我所知,如果您在沙盒之外运行应用程序(在开发的某些阶段可能需要这样做),这可能不再有效。如果您遇到这个问题,对我有用的是在 NSGlobalDomain 中设置 WebKitDeveloperExtras 键的值:
defaults write NSGlobalDomain WebKitDeveloperExtras -bool true
【讨论】:
在我的情况下(MacOSX 10.6.5)它不起作用。
我必须在我的 webView WindowController 的 windowDidLoad 方法中执行以下操作:
/* 初始化 webInspector。 */ [[NSUserDefaults standardUserDefaults] setBool:TRUE forKey:@"WebKitDeveloperExtras"]; [[NSUserDefaults standardUserDefaults] 同步];【讨论】:
我尝试这样做,但看不到网络检查器。
不是和[[NSUserDefaults standarduserDefaults] registerDefaults:[NSDictionary dictionaryWithObject:[NSNumber numberWithBool:YES] forKey:@"WebKitDeveloperExtras"]]一样吗?
【讨论】: