Вопрос

Я пишу несколько пользователей JS для оперы. Он реагирует по запросу, у которого нет расширения, например, /stuff/code/MyFile, или имеет один не связан с JavaScript, например, /stuff/code/load.do. Анкет Тип контента ответа установлен на text/html, хотя он возвращает чистый источник JavaScript (text/javascript) Поскольку у меня нет доступа к коду сервера, я просто должен жить с этим.

Теперь проблема в том, что я хочу отформатировать источник с номерами строк и тому подобное и отобразить его внутри оперы. Поэтому я написал несколько пользователей Js, чтобы отреагировать на AfterEvent.DOMContentLoaded (Также попробовал AfterEvent.load, то же самое). Он читает e.event.target.body.innerHTML Чтобы получить доступ к телу, т.е. код JavaScript.

Одно это будет работать хорошо, если бы только источник не будет содержать HTML-tags или операторов сравнения (<,>). С тех пор, как это так, я никогда не получаю желаемую результатом. Опера, кажется, имеет некоторую внутреннюю логику для преобразования text/html-Пответствие в свой собственный формат представления. Это включает в себя, например, CRLF после удаления HTML-tag или код между двумя «сопоставлением» <и> (операторы сравнения!) ="" После каждого слова там.

И вот где проблема.

Если я запрошу тот же URL без моего пользователя JS, а затем посмотрю источник «страницы», я вижу чистый код JavaScript, идентичный тому, что отправил сервер. И это то, к чему я хочу получить доступ.

Если я использую innerText вместо innerHTML, Opera выпускает HTML-tags, делая файл отличным от оригинала.

Я также пытался посмотреть outerHTML, outerText а также textContent, но у них все одинаковые проблемы.

Я знаю, что опера здесь ничего не делает. Сервер говорит, что это text/html и опера просто делает то, что обычно делает с text/html-Кад ответа.

Поэтому мой вопрос: есть ли способ получить нетронутый ответ с пользователем JS?

Это было полезно?

Решение

Нет никакого способа получить доступ к предварительно перепущенной наценке от JS. Единственный способ сделать это - использовать Xmlhttprequest, чтобы запрашивать контент самостоятельно.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top