web-dev-qa-db-ja.com

CocoaWebViewオブジェクトからWebKitWebインスペクターを使用する方法はありますか?

OSX上のWebKitに基づくカスタムブラウザでWebKitWebインスペクターを使用したいのですが、WebViewオブジェクトでWebインスペクターを使用することはできますか?もしそうなら、どのように?

35
user53937

-[NSUserDefaults registerDefaults:]を送信するときは、デフォルトのユーザーデフォルトでWebKitDeveloperExtrasYESに設定します。もちろん、これはアプリ全体に当てはまります。

ユーザーはそれをNOに変更できることを忘れないでください。したがって、YESであると想定しないでください。重要な場合(コンテキストメニューをカスタマイズする場合など)は、常に確認してください。

警告:この設定は、必ずしも要素インスペクターを有効にするだけではありません。 Appleは将来、メニューバーのデバッグメニューなどを制御するために拡張する可能性があります。これは許容できないリスクである可能性があります。

36
Peter Hosey

A [〜#〜]本当に[〜#〜]簡単な方法は...ターミナルにあります...⌘⬆☺

defaults write com.yourcompany.yourbundleid WebKitDeveloperExtras TRUE

(OSX 10.8では、代わりにdefaults write com.yourcompany.yourbundleid WebKitDeveloperExtras -bool trueを使用してください)。

注:あなた[〜#〜] must [〜#〜]変更com.yourcompany.yourbundleidあなたの特定の「アプリ」(または会社のアプリbundle IDかもしれません)beforeこれはうまくいきます!**

これの良いところ...NO WAY忘れて取り出して、オフにして、コメントアウトなど...これはローカル設定です...任意のWebkit対応アプリに設定できます...開発者メニューが表示されない場合など。 。フレットではありません。

Right☝ (click) Webviewで、「ShowInspector」に移動します。

また、同じように、次のことも何かを行う可能性があります..しかし、私はそれを試したことがないので、わかりません..

defaults write com.yourcompany.yourbundleid IncludeDebugMenu 1

39
Alex Gray

Apple 推奨

defaults write com.example.myApp WebKitDeveloperExtras -bool true

ただし、私が知る限り、サンドボックスからアプリケーションを実行している場合、これは機能しなくなる可能性があります(開発の一部の段階で実行する必要がある場合があります)。この問題が発生した場合、私にとってうまくいったのは、NSGlobalDomainのWebKitDeveloperExtrasキーの値を設定することです。

defaults write NSGlobalDomain WebKitDeveloperExtras -bool true
23
milos

私の場合(MacOSX 10.6.5)は機能しませんでした。

WebViewWindowControllerのwindowDidLoadメソッドで次のことを行う必要がありました。

/* webInspectorを初期化します。 */
[[NSUserDefaultsstandardUserDefaults] setBool:TRUE forKey:@ "WebKitDeveloperExtras"]; 
 [[NSUserDefaults standardUserDefaults] synchronize]; 
8
Rémy SAISSY

やってみましたが、Webインスペクターが見えませんでした。

[[NSUserDefaults standarduserDefaults] registerDefaults:[NSDictionary dictionaryWithObject:[NSNumber numberWithBool:YES] forKey:@"WebKitDeveloperExtras"]]と同じではないですか?

1
JongAm Park