8
votes

Comment puis-je afficher l'inspecteur Web de WebKit de mon objet webview de manière programmatique?

Comment puis-je afficher l'inspecteur Web de WebKit de mon objet webview de manière programmatique?

Je réussirai Pour activer l'inspecteur Web de WebKit sur mon webview. Cela fonctionne bien, et maintenant je peux l'apparaître en cliquant sur "Inspecter l'élément" dans le menu contextuel. Et je veux faire cela avec mon bouton-poussoir. Mais je n'ai pas pu trouver une bonne façon de le faire. Mes connaissances de Dom a 10 ans, très Newbie sur HTML DOM de nos jours. Y a-t-il un moyen de faire cela?

J'ai trouvé un document de classe: InspectorController . Je pense que c'est une sorte de clé. Mais je ne peux pas savoir quel objet expose et comment puis-je utiliser cela.

Environnement:

  • Mac OS X 10.6
  • XCode 3.2.1 (iPhone SDK, sans plug-in)

1 commentaires

Le lien vers InspectorController est mort.


3 Réponses :


3
votes

Il n'y a pas d'API publique pour interagir avec le webinspecteur via le DOM ou le cacao. Vous devez déposer une demande d'amélioration chez https://bugrepor.apport.apple.com/ Demander cette API. < / p>

InspectorController est également un détail de mise en œuvre interne du webinspector et son bogue probablement que c'est sur le site Web de la documentation.


0 commentaires

11
votes

Voici quelques codes qui devrait vous aider à l'ouvrir à partir de cacao de manière programmatique par programme: xxx

pour l'étendre à la DOM, n'exposez simplement cette fonction à JS.


4 commentaires

Je suis désolé mais je ne peux pas comprendre comment je peux appliquer ce code à mon programme. Cela ressemble à C ++, mais je ne suis pas bon chez C ++.


@Onil. Je sais que c'est vieux, mais ... Le code ci-dessus est basé sur le cadre de cacao et est écrit dans l'objectif-c.


@Old Oh merci de commenter. J'étais un débutant sur l'objectif-c aussi. Maintenant, je peux comprendre tous les codes ci-dessus. Merci encore :)


Je ne sais pas comment obtenir ce travail. Je reçois des erreurs "La variable est incomplète" vide "", "attendu"; " Après le déclaratoire de niveau supérieur "et" identifiant attendu ou "(" ", tout sur la première ligne de" void mywebkit: ... ". Qu'est-ce que je manque? Je n'ai jamais vraiment utilisé le code qui ressemble à ceci.



5
votes

Pour ceux confus par la réponse de @alex Maccaw (c'est C ++), voici une version plus "normale" ..

dans votre fichier .m code> ... Déclarez les méthodes d'en-tête webinspector .. p> xxx pré>

puis dans le même fichier, que ce soit votre délégué de l'application ou votre sous-classe webview, ou quel que soit em> ... déclarer un ivar à " Tenez votre inspecteur et faites une méthode pour l'ouvrir, à l'aide de votre instance de vue Web ou de votre propriété, ou autre. ... p>

@implementation AppController  { WebInspector *_inspector; }

- (IBAction)showInspector:(id)x {
   _inspector = _inspector = [WebInspector.alloc initWithWebView:_myWebView];
  [_inspector      detach:_myWebView];
  [_inspector showConsole:_myWebView];
}
....


1 commentaires

Je voudrais que l'inspecteur Web montre dans sa propre fenêtre. Je suppose que c'est ce que "détacher" est censé faire. Si vous regardez le source , Détache ne fait rien. Des idées sur la façon d'accomplir cela?