36

我想在 OS X 上基于 WebKit 的自定义浏览器中使用 WebKit 网络检查器。是否可以在 webview 对象上使用网络检查器?如果是这样,怎么做?

4

5 回答 5

41

一个非常简单的方法......在终端......⌘⬆☺</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

于 2012-02-23T00:05:32.590 回答
36

发送时设置WebKitDeveloperExtrasYES默认用户默认值-[NSUserDefaults registerDefaults:]。当然,这适用于整个应用程序。

请记住,用户可以将其更改为NO,因此不要假设它是YES——如果它很重要(例如,在自定义上下文菜单时),请始终检查。

警告:此首选项不一定只启用元素检查器。Apple 可能会在未来扩展它以控制菜单栏中的调试菜单。您可能会发现这是不可接受的风险。

于 2009-03-29T18:21:27.010 回答
23

苹果建议

defaults write com.example.myApp WebKitDeveloperExtras -bool true

但是,据我所知,如果您在沙盒之外运行应用程序(在开发的某些阶段可能需要这样做),这可能不再有效。如果您遇到这个问题,对我有用的是在 NSGlobalDomain 中设置 WebKitDeveloperExtras 键的值:

defaults write NSGlobalDomain WebKitDeveloperExtras -bool true
于 2013-05-10T13:16:35.683 回答
8

在我的情况下(MacOSX 10.6.5)它不起作用。

我必须在我的 webView WindowController 的 windowDidLoad 方法中执行以下操作:

/* 初始化 webInspector。*/
[[NSUserDefaults standardUserDefaults] setBool:TRUE forKey:@"WebKitDeveloperExtras"];
[[NSUserDefaults standardUserDefaults] 同步];
于 2010-12-10T09:17:24.750 回答
1

我试过这样做,但看不到网络检查器。

不是一样[[NSUserDefaults standarduserDefaults] registerDefaults:[NSDictionary dictionaryWithObject:[NSNumber numberWithBool:YES] forKey:@"WebKitDeveloperExtras"]]吗?

于 2009-12-09T17:34:44.993 回答