Wie kann ich den Web Inspector von Webkit programmgesteuert von meinem WebView-Objekt aus aufrufen?

8

Wie kann ich den Web Inspector von Webkit programmgesteuert von meinem WebView-Objekt aus aufrufen?

Ich gelinge um den Web Inspector von Webkit in meinem WebView zu aktivieren. Es funktioniert gut, und jetzt kann ich es durch Klicken auf "Element prüfen" im Kontextmenü öffnen. Und ich möchte das mit meinem Druckknopf machen. Aber ich konnte keinen passenden Weg finden, dies zu tun. Mein DOM-Wissen ist 10 Jahre alt, sehr neu in HTML DOM von heute. Gibt es eine Möglichkeit, dies zu tun?

Ich habe ein Klassendokument gefunden: InspectorController . Ich denke, das ist eine Art Schlüssel. Aber ich kann nicht wissen, welches Objekt ausstellt und wie kann ich das verwenden.

Umgebung:

  • Mac OS X 10.6
  • Xcode 3.2.1 (iPhone SDK, kein Plug-in)
Eonil 23.05.2017, 12:00
quelle

3 Antworten

3

Es gibt keine öffentliche API für die Interaktion mit dem WebInspector über das DOM oder Cocoa. Sie sollten in Ссылка eine Verbesserungsanfrage einreichen, in der Sie nach dieser API gefragt werden.

InspectorController ist auch ein internes Implementierungsdetail des WebInspectors und es ist wahrscheinlich ein Fehler, der auf der Dokumentationswebseite auftritt.

    
Matt Lilek 24.01.2010, 00:54
quelle
11

Hier ist ein Code, der Ihnen helfen soll, ihn programmatisch aus Kakao zu öffnen:

%Vor%

Um es auf das dom zu erweitern, setzen Sie diese Funktion einfach JS zur Verfügung.

    
Alex MacCaw 26.01.2010 19:21
quelle
5

Für diejenigen, die durch @alex MacCaw's Antwort verwirrt sind (es ist C ++), ist hier eine "normale" Version ..

in Ihrer .m -Datei ... deklarieren Sie die WebInspector-Header-Methoden ..

%Vor%

Dann in derselben Datei, sei es Ihr App-Delegat oder die WebView-Unterklasse oder was auch immer ... erklären Sie einen ivar, um "Ihren Inspektor zu halten und eine Methode zu machen, ihn zu öffnen, indem Sie IHREN benutzen Web-View-Instanz oder -Eigenschaft oder was auch immer. ...

%Vor%     
Alex Gray 31.10.2013 06:15
quelle