Как я могу вставить на свой веб-сайт исходный код HTML, не изменяя его?

В разделе моей веб-страницы отображается исходный код HTML (с <body>, <head>, ВСЕ, что может иметь HTML-код), и пользователь может извлечь код. У меня есть этот код в текстовом файле в iframe. Проблема: Iframe не работает в таких браузерах, как IE8, потому что в современных браузерах, таких как Chrome, они вставляют <pre> внутри iframe, а IE8 — нет.

Мне нужен способ вставки кода в документ без выполнения кода браузером. Да, нет необходимости, чтобы код был в текстовом файле (.txt), я видел некоторых людей, которые устанавливали код в <textarea>, и мне это нравится. Идея состоит в том, что исходный код не должен быть изменен, и я читал некоторые решения PHP, но я не могу изменить PHP. Я пробовал с <pre> и <code>, но... не работает, браузер все равно выполняет исходный код, возможно, я не понимаю правильное использование этих тегов.

Я читал, что иногда необходимо заменить некоторые специальные символы, такие как < на &#60;, может быть проблема в этом? существует конвертер, который не повлияет на конечный результат при отображении? Спасибо! Я не знаю, хорошо ли я объясняю, я открыт для любых предложений (извините, если это звучит странно, английский не мой родной язык)


person Yavierre    schedule 07.03.2013    source источник
comment
возможный дубликат Вставить HTML в iframe   -  person Mogsdad    schedule 03.09.2015


Ответы (1)


С помощью jQuery вы можете использовать AJAX для извлечения файла с исходным кодом, а затем использовать .text(var_with_the_code) в объекте jQuery для отображения исходного кода HTML без «выполнения» его.

Вот ограниченная демонстрация в jsFiddle: http://jsfiddle.net/gberger/T3JDJ/

person gberger    schedule 07.03.2013
comment
Он отлично работает в JSfiddle, спасибо! но я не упомянул, что это было для tumblr, и я поставил следующий код для теста (перед тегом ‹/head›): ‹script type='text/javascript'› $(#buttonthing).click(function () { $.ajax({ url: 'static.tumblr.com/36bnqm6/NAFmjb014 /chirimoya_beta.txt', успех: function(data){ $(#thediv).text(data) }, error: function(error){ alert('Ой, произошла какая-то ошибка.'); } }); }); ‹/script› И это не сработало, вы можете увидеть это здесь знаете ли вы, что может быть ? - person Yavierre; 08.03.2013
comment
В нем говорится следующее: XMLHttpRequest не может загрузить static.tumblr.com/36bnqm6/NAFmjb014/chirimoya_beta.txt . Происхождение fruitzo.tumblr.com не разрешено Access-Control-Allow-Origin. См. этот вопрос: stackoverflow.com/questions/ 12124538/ - person gberger; 08.03.2013
comment
Хорошо, я попытаюсь изменить PHP (потому что в tumblr вы не можете) или попытаться загрузить файл в том же источнике (fruitzo.tumblr.com/......) это было очень полезно, спасибо за ваше помощь! - person Yavierre; 08.03.2013