有没有办法从Cocoa WebView对象使用WebKit Web检查器?

时间:2009-03-29 17:54:11

标签: cocoa webkit

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

5 个答案:

答案 0 :(得分:39)

真的简单的方法......在终端....⌘⬆☺

defaults write com.yourcompany.yourbundleid WebKitDeveloperExtras TRUE

(使用OSX 10.8,改为使用defaults write com.yourcompany.yourbundleid WebKitDeveloperExtras -bool true)。

注意:必须 com.yourcompany.yourbundleid 更改为您的特定“应用”(或任何公司的应用bundle ID它可能是之前这将起作用!**

关于这个的好处... NO WAY 忘记取出它,关掉它,注释掉它等等 ...这是一个LOCAL设置......并且可以为任何支持webkit的应用程序设置...如果你没有看到开发人员菜单,或者其他什么......烦恼不是..

在Webview上

☝(单击)并转到“显示检查器”。

另外,沿着相同的路线,以下可能也会做某事 ..但我没有尝试过,所以不确定..

defaults write com.yourcompany.yourbundleid IncludeDebugMenu 1

答案 1 :(得分:36)

发送WebKitDeveloperExtras时,将YES设置为默认用户默认值-[NSUserDefaults registerDefaults:]。当然,这适用于应用范围。

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

警告:此首选项不一定只启用Element Inspector。 Apple可能会在将来对其进行扩展,以便控制菜单栏中的“调试”菜单。您可能会发现这是一种不可接受的风险。

答案 2 :(得分:23)

Apple recommends

defaults write com.example.myApp WebKitDeveloperExtras -bool true

但是,据我所知,如果您使用沙箱运行应用程序(在开发的某些阶段可能需要执行此操作),这可能不再有效。如果你遇到这个问题,对我来说有用的是在NSGlobalDomain中设置WebKitDeveloperExtras键的值:

defaults write NSGlobalDomain WebKitDeveloperExtras -bool true

答案 3 :(得分:8)

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

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

/* Initialize webInspector. */
[[NSUserDefaults standardUserDefaults] setBool:TRUE forKey:@"WebKitDeveloperExtras"];
[[NSUserDefaults standardUserDefaults] synchronize];

答案 4 :(得分:1)

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

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