我想在OS X上基于WebKit的自定义浏览器中使用WebKit Web检查器.是否可以在webview对象上使用Web检查器?如果是这样,怎么样?
一个真正简单的方法来做到这一点...是在终端....⌘⬆☺
defaults write com.yourcompany.yourbundleid WebKitDeveloperExtras TRUE
(使用OSX 10.8,请defaults write com.yourcompany.yourbundleid WebKitDeveloperExtras -bool true
改用).
注意:在此之前,您必须更改com.yourcompany.yourbundleid
为您的特定"应用程序"(或任何公司的应用程序bundle ID
)!**
关于这个的好处 ...没有办法忘记把它拿出来,把它关掉,注释掉等等 ......这是一个LOCAL设置......并且可以设置为任何支持webkit的应用程序..如果你没有看到开发人员菜单,或者其他什么......不要担心......
Right☝ (click) 在Webview上,转到"Show Inspector".
此外,沿着相同的路线,以下可能也做一些事情 ..但我没有尝试过,所以不确定..
defaults write com.yourcompany.yourbundleid IncludeDebugMenu 1
发送时设置WebKitDeveloperExtras
为YES
默认用户默认值-[NSUserDefaults registerDefaults:]
.当然,这适用于应用程序范围.
请记住,用户可以将其更改为NO
,因此不要认为它是YES
- 如果它很重要(例如,在自定义上下文菜单时),请始终检查.
警告:此首选项不一定只启用Element Inspector.Apple可能会在将来对其进行扩展,以便控制菜单栏中的"调试"菜单.您可能会发现这是一种不可接受的风险.
Apple 建议:
defaults write com.example.myApp WebKitDeveloperExtras -bool true
但是,据我所知,如果您使用沙箱运行应用程序(在开发的某些阶段可能需要执行此操作),这可能不再有效.如果你遇到这个问题,对我有用的是在NSGlobalDomain中设置WebKitDeveloperExtras键的值:
defaults write NSGlobalDomain WebKitDeveloperExtras -bool true
在我的情况下(MacOSX 10.6.5)它没有用.
我必须在webView WindowController的windowDidLoad方法中执行以下操作:
/* Initialize webInspector. */ [[NSUserDefaults standardUserDefaults] setBool:TRUE forKey:@"WebKitDeveloperExtras"]; [[NSUserDefaults standardUserDefaults] synchronize];