我想在 OS X 上基于 WebKit 的自定义浏览器中使用 WebKit 网络检查器。是否可以在 webview 对象上使用网络检查器?如果是这样,怎么做?
5 回答
一个非常简单的方法......在终端......⌘⬆☺</p >
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☝ (click)在 Webview 上并转到“显示检查器”。
此外,按照同样的思路,以下可能也可以做一些事情..但我还没有尝试过,所以不确定..
defaults write com.yourcompany.yourbundleid IncludeDebugMenu 1
发送时设置WebKitDeveloperExtras
为YES
默认用户默认值-[NSUserDefaults registerDefaults:]
。当然,这适用于整个应用程序。
请记住,用户可以将其更改为NO
,因此不要假设它是YES
——如果它很重要(例如,在自定义上下文菜单时),请始终检查。
警告:此首选项不一定只启用元素检查器。Apple 可能会在未来扩展它以控制菜单栏中的调试菜单。您可能会发现这是不可接受的风险。
苹果建议:
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"]]
吗?