30.07.2017, 20:58
|
Аспирант
|
|
Регистрация: 25.06.2017
Сообщений: 36
|
|
Нужно из всего кода оставить только содержимое BODY, но body вырезается
Есть код под спойлером:
$(document).ready(function() {
var Final = '';
$('#sendTo').on('click', function () {
var insertData = $('#insertArea').val();
var div = $("<div>", {html : insertData});
// only body content with internal tags
var bodyVal = $('body', div).html();
$(div).empty();
$(div).remove();
$(div).html('bodyVal');
// find and replace all href links to {{ $landing_url }}
$('a', div).attr("href","{{ $landing_url }}");
// find and replace all img to {{ $landing_url }}
$('img', div).each(function (i,el) {
var srcVal=el.src.substr(el.src.lastIndexOf("/")+1,el.src.length);
$(this).attr("src","{{ asset('layers/'. $template_folder .'/img/" + srcVal + "') }}");
});
// delete tag script, iframe, noscript with content
$('script', div).empty();
$('noscript', div).empty();
$('iframe', div).empty();
$('script', div).remove();
$('noscript', div).remove();
$('iframe', div).remove();
// display result
Final += "@include('layers.header')<body>" + div.html() + "@include('layers.footer')";
$('#pastArea').val(Final);
});
});
Задумка такая, что из:
<doctype! html>
<html>
<head></head>
<body>
<div></div>
</body>
</html>
Должно оставаться это:
<div></div>
Но при конвертации исчезают теги <head>, <body>, <html> при этом все их содержимое остается, хотя я jQuery такого не просил. А потому я не могу извлечь содержимое <body>.
Что не так? Догадываюсь, что дело в 7,8 строке кода, но я там не очень могу понять.
Последний раз редактировалось Stenli, 31.07.2017 в 20:41.
|
|
30.07.2017, 21:25
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,109
|
|
Stenli,
подожду телепата ...
|
|
30.07.2017, 21:30
|
Аспирант
|
|
Регистрация: 25.06.2017
Сообщений: 36
|
|
Сообщение от рони
|
Stenli,
подожду телепата ...
|
Профессор, продуктивнее будет если скажете, где я сморозил или что не понятно. Зачем пальцы-то гнуть?
|
|
30.07.2017, 21:33
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,109
|
|
Stenli,
я не понимаю, что вы хотите сделать.
|
|
30.07.2017, 21:41
|
Аспирант
|
|
Регистрация: 25.06.2017
Сообщений: 36
|
|
Понял, осознал.
Это ответвление темы этой: Обработка определенных тегов в тексте помещенном в textarea (для оглавления)
Суть такая, что в первый textarea помещается код HTML, а во втором textarea должен появится сконвертированный, очищенный код.
То есть я вставляю код
<doctype! html>
<html>
<head></head>
<body>
<div></div>
</body>
</html>
jQuery думает и выдает это, удаляя все ненужное:
<div></div>
Только jQuery почему-то удаляет теги, которые я не просил удалять. В частности тег <body>.
|
|
30.07.2017, 21:51
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,109
|
|
Stenli,
ок -- видимо браузер считает что одного body на страницу достаточно.
|
|
30.07.2017, 21:55
|
Аспирант
|
|
Регистрация: 25.06.2017
Сообщений: 36
|
|
Мы сегодня похоже не понимаем друг друга :-)
Браузер тут не должен ничего понимать, мне кажется. Все изменения происходят не на сайте, а внутри формы textarea - объяснил как мог.
Это нечто похожее, как вы мне советовали, когда был вопрос об автооглавлении (пример по ссылке выше). Только тут не оглавление сделать, а вытащить некоторое содержимое.
Последний раз редактировалось Stenli, 30.07.2017 в 21:59.
|
|
30.07.2017, 22:15
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,109
|
|
Stenli,
пока не знаю
|
|
31.07.2017, 00:17
|
Аспирант
|
|
Регистрация: 25.06.2017
Сообщений: 36
|
|
Сообщение от рони
|
Stenli,
ок -- видимо браузер считает что одного body на страницу достаточно.
|
Кажется вник в эту фразу. А потому стал искать по просторам, нашел схожую проблему у одного человека. У него частично получилось сделать то, что нужно - извлечь содержимое BODY.
Только помогите разобраться, как он это провернул: ссыль
Или тут что-то нарешали, но я не пойму как: ссыль
Последний раз редактировалось Stenli, 31.07.2017 в 00:24.
|
|
31.07.2017, 01:41
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,109
|
|
Stenli,
ждите специалиста...
Сообщение от Stenli
|
нужно - извлечь содержимое BODY.
|
Сообщение от Stenli
|
jQuery думает и выдает это, удаляя все ненужное:
<div></div>
|
<div></div> это же и есть содержимое или вам нужно что-то иное?
|
|
|
|