Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
有没有办法从Cocoa WebView对象使用WebKit web inspector?_Cocoa_Webkit - Fatal编程技术网

有没有办法从Cocoa WebView对象使用WebKit web inspector?

有没有办法从Cocoa WebView对象使用WebKit web inspector?,cocoa,webkit,Cocoa,Webkit,我想在基于OS X上WebKit的自定义浏览器中使用WebKit web inspector。是否可以在webview对象上使用web inspector?如果是,如何设置?在发送-[NSUserDefaults registerDefaults:时,将WebKitDeveloperTras设置为默认用户默认值中的YES。当然,这适用于整个应用程序 请记住,用户可以将其更改为否,因此不要假设它是是——如果有任何问题(例如,在自定义上下文菜单时),请始终选中 警告:此首选项不一定只启用元素检查器。

我想在基于OS X上WebKit的自定义浏览器中使用WebKit web inspector。是否可以在webview对象上使用web inspector?如果是,如何设置?

在发送
-[NSUserDefaults registerDefaults:
时,将
WebKitDeveloperTras
设置为默认用户默认值中的
YES
。当然,这适用于整个应用程序

请记住,用户可以将其更改为
,因此不要假设它是
——如果有任何问题(例如,在自定义上下文菜单时),请始终选中


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

我尝试过这样做,但看不到web检查器

它是否与注册默认值:[NSUserDefaults standarduserDefaults]registerDefaults:[NSDictionary Dictionary WithObject:[NSNumber numberWithBool:YES]forKey:@“WebKitDeveloperStras”]?

相同?在我的例子中(MacOSX 10.6.5),它不起作用

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

/* Initialize webInspector. */ [[NSUserDefaults standardUserDefaults] setBool:TRUE forKey:@"WebKitDeveloperExtras"]; [[NSUserDefaults standardUserDefaults] synchronize]; /*初始化webInspector*/ [[NSUserDefaults standardUserDefaults]setBool:TRUE-forKey:@“WebKitdeveloperStras”]; [[NSUserDefaults standardUserDefaults]同步];
这是一个非常简单的方法。。。在候机楼。。。。⌘ ⬆ ☺

默认写com.yourcompany.yourbundleid webkit developerextra为TRUE

(在OSX 10.8中,使用
默认值编写com.yourcompany.yourbundleid webkit developerextras-bool true

注意:您必须将
com.yourcompany.yourbundleid
更改为您的特定“应用程序”(或任何公司的应用程序
bundle ID
),然后才能生效!**

这件事的好处是。。。没有办法忘记把它拿出来,关掉,评论出来,等等。。。这是一个本地设置。。。并且可以为任何启用webkit的应用程序设置。。。如果你看不到开发者菜单,或者诸如此类。。不要烦恼

对☝ (单击)网络视图并转到“显示检查器”

同样,下面的内容也可以做一些事情。。但是我还没有试过,所以不确定

默认写com.yourcompany.yourbundleid包括ebugmenu 1
苹果:

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

defaults write NSGlobalDomain WebKitDeveloperExtras -bool true

这管用!令人惊叹的!旁注:它在第一次加载时设置,直到应用程序重新启动后才生效。不知道如何解决这个问题--可能提供一个默认属性文件…LogLibrary:早点设置。如果applicationWillFinishLaunching:不够好,请在main()函数中设置它。好的,我知道我在这里运气不好,但是有没有办法通过编程启动web inspector?也许是私有api?私有api是私有的,因为它总有一天会消失。(如果你非常幸运的话,也可以不做任何更改就公开。)如果你觉得自己很大胆,可以将WebKit分类并尝试使用WebInspectorWindowController。确保你保护好每件事,这样当它发生变化时,你就会优雅地失败。或者更粗体(?)只需从前面的WebKit.org下载源代码,是的。谢谢。从webkit开发人员邮件列表中,我收到了另一个回复。它应该在最早的时候完成,比如+initialize,也可以在Unix提示符下发出。默认写com.yourcompany.programname WebKitdeveloperStras-bool true我必须使用
默认写com.yourcompany.yourbundleid WebKitdeveloperStras-bool true才能工作。在当今时代,它被称为“检查元素”而不是“显示检查器”,但距离足够近了。我发现我的应用程序需要重新启动才能生效。是这样还是需要在webview实例化之前发生这种情况?
defaults write NSGlobalDomain WebKitDeveloperExtras -bool true