Question

J'écris quelques-uns utilisateur JS pour Opera. Il réagit à une demande qui ne possède pas d'extension, par exemple /stuff/code/MyFile, ou a une non liée à activer, par exemple /stuff/code/load.do. Le type de contenu de la réponse est réglée sur text/html, même si elle retourne source pure JavaScript (de text/javascript). J'ai simplement que je n'ai pas accès au code du serveur à vivre avec cela.

Le problème est maintenant que je veux formater la source avec les numéros de ligne et par exemple et l'afficher à l'intérieur de l'Opéra. Par conséquent, je l'ai écrit quelques-utilisateur JS à réagir sur AfterEvent.DOMContentLoaded (également essayé AfterEvent.load, la même chose). Il lit e.event.target.body.innerHTML d'accès de gain au corps, à savoir le code JavaScript.

Cela seul fonctionnerait bien, si seulement la source ne contiendrait pas les balises HTML ou les opérateurs de comparaison (<,>). Comme il le fait, je ne me la sortie que je veux. Opera semble avoir une certaine logique interne pour convertir le text/html-réponse dans son propre format de représentation. Cela comprend par exemple que un CRLF après une balise HTML est supprimé ou un code entre deux « correspondant » (opérateurs de comparaison!) sont croqué en une seule ligne unique application ="" après chaque mot là-dedans.

Et c'est là le problème.

Si je demande la même URL sans mon utilisateur JS puis regarde la source de la page « » Je vois un code JavaScript code propre identique à ce que le serveur a envoyé. Et ce que je veux avoir accès à.

Si je innerText au lieu de innerHTML, Opera bandes les balises HTML rendant les différents fichiers à l'original, aussi.

J'ai essayé aussi de regarder outerHTML, outerText et textContent, mais ils ont tous les mêmes problèmes.

Je sais que Opera ne fait rien de mal ici. Le serveur dit que c'est un text/html et Opera fait tout simplement ce qu'il fait habituellement avec un text/html-type de réponse.

Par conséquent, ma question est: est-il possible d'obtenir la réponse intacte avec un utilisateur JS

Était-ce utile?

La solution

Il n'y a pas moyen d'accéder au balisage préanalysée de JS. La seule façon de le faire serait d'utiliser XMLHttpRequest pour demander le contenu vous-même.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top