powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Изменение содержимого страницы полностью. DOM. HTML. JS.
11 сообщений из 11, страница 1 из 1
Изменение содержимого страницы полностью. DOM. HTML. JS.
    #37952736
_Промешан_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ситуация - мне нужно отобразить превью страницы. Собирается HTML из БД.
Кликаю на кнопку, там вот что:
Код: javascript
1.
2.
3.
<script language="javascript">
   window.open('preview.php?id=5','','target=blank,width=800,menubar=no,location=no');
</script>


Ну вопервых 'location=no' почемуто не работает.Ну ладно.

Открывается php, там происходит загрузка, и прочие прелести и в итоге получаю переменную $html. От <html> до </html>.

Потом запускаю скрипт
Код: javascript
1.
2.
3.
<script language="javascript">
   window.write(<?php echo $html; ?>);
</script>



Но контент не подменяется, поэтому приходится сохранять на диск preview.html и document.location указывать на файл. Как собственно подменить контент страницы без подобных манипуляций, потому что при разных превью, надо обязательно жать F5, т.к. страница кешируется?

Не смог подобрать магический пассворд к гуглу, чтобы найти нужную инфу. Все не то вылазит.

Еще вопрос : как лучше посылать html в письмах - только то, что между тегами <body> или весь документ включая <html>?
...
Рейтинг: 0 / 0
Изменение содержимого страницы полностью. DOM. HTML. JS.
    #37952812
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если в переменной $html есть <script>, то проблема возможно в этом.
Правда я не вижу разницы между window.write(<?php echo $html; ?>); и просто php echo $html с точки зрения кэша.
...
Рейтинг: 0 / 0
Изменение содержимого страницы полностью. DOM. HTML. JS.
    #37952849
Фотография Малыхин Сергей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код далеко не полный =) неизвестно что в северной переменной $html скорее всего выводится простой html не заключенный в кавычки и без экранирования их


Письма можно посылать вложив их к конверт и отправив по почте. еще нужно указать адрес а то письмо может вернутся
...
Рейтинг: 0 / 0
Изменение содержимого страницы полностью. DOM. HTML. JS.
    #37952907
Primus inter pares
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
У вас как-то все в кучу навалено.

1. Такого метода window.write - нет.
2. Если хотите переправить на созданный файл window.location.replace('preview.html');
3. Не хотите сохранять файл - сделайте php файл (например view.php), типа
Код: php
1.
<?php echo $html; ?>

и переправляйте туда window.location.replace('view.php');
...
Рейтинг: 0 / 0
Изменение содержимого страницы полностью. DOM. HTML. JS.
    #37952913
_Промешан_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Primus inter paresУ вас как-то все в кучу навалено.

1. Такого метода window.write - нет.
2. Если хотите переправить на созданный файл window.location.replace('preview.html');
3. Не хотите сохранять файл - сделайте php файл (например view.php), типа
Код: php
1.
<?php echo $html; ?>

и переправляйте туда window.location.replace('view.php');
ПРошу прощения - document.write.


Про echo почеуто не подумал... хм...
...
Рейтинг: 0 / 0
Изменение содержимого страницы полностью. DOM. HTML. JS.
    #37953103
_Промешан_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Малыхин СергейКод далеко не полный =) неизвестно что в северной переменной $html скорее всего выводится простой html не заключенный в кавычки и без экранирования их


Письма можно посылать вложив их к конверт и отправив по почте. еще нужно указать адрес а то письмо может вернутся
В переменной простой html без js.

Вот с экранированием я не понял: html_entity не помог, кавычки ставил при выводе.
в результате в тексте хтмл получается:

<script>
document.write('<html><body>.....');
</script>
В коде помоему только двойные кавычки, но все равно.
...
Рейтинг: 0 / 0
Изменение содержимого страницы полностью. DOM. HTML. JS.
    #37953158
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробуйте так:
Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
<script id="html">
    /*
    <?php echo $html; ?>
    */
</script>
<script>
    var s = document.getElementById("html");
    var cs=s.indexOf("/*"), cf=s.indexOf("*/");
    document.write(s.substr(cs+2,cf-cs-4));
</script>
...
Рейтинг: 0 / 0
Изменение содержимого страницы полностью. DOM. HTML. JS.
    #37953217
Фотография Малыхин Сергей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Промешан_В коде помоему только двойные кавычки, но все равно.
Если переменная $html == "<html><body>тест<body></html>" то код уже ошибочен т.к. в строке есть символ "/" который нужно экранировать (т.е. заменить на "//") если в строковой переменной встретится не экранированная кавычка то она закроет строку в функции document.write и весь остальной текст превратится в мусор в браузере. Браузер будет пытаться интерпретировать этот мусор как JS код что приведет к ошибке
...
Рейтинг: 0 / 0
Изменение содержимого страницы полностью. DOM. HTML. JS.
    #37953341
_Промешан_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Малыхин Сергей_Промешан_В коде помоему только двойные кавычки, но все равно.
Если переменная $html == "<html><body>тест<body></html>" то код уже ошибочен т.к. в строке есть символ "/" который нужно экранировать (т.е. заменить на "//") если в строковой переменной встретится не экранированная кавычка то она закроет строку в функции document.write и весь остальной текст превратится в мусор в браузере. Браузер будет пытаться интерпретировать этот мусор как JS код что приведет к ошибке

Я имею в виду что чистый получаемый html такой:
Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
<html>
        <head>
          <title>рассылка</title>
        </head> 
       <body>
       <table style="border: 0px; font-family: Calibri,Tahoma, Geneve, Arial; font-size: 12pt; width: 90%;" cellspadding="0" cellspacing="0">
        <tr><td>
          <br><br>Приветствую тебя, Вася!<br><br>
          <a href="http://mysite.ru/all">Все новости</a><br>
          <table style="border: 0px; text-align: justify; font-family: Calibri,Tahoma, Geneve, Arial; font-size: 12pt; width: 100%; margin-left: 5px;"></table>
          <table style="margin-top: 50px; width: 100%; font-family: Calibri,Tahoma, Geneve, Arial; font-size: 10pt; border: 1px dotted #ddd; padding: 5px; margin-left: 5px; font-size: 10pt;">
<tr style="border: 1px dotted #ddd; height: 40px; padding: 2px;">
                  <td style="width: 20%; padding: 3px;">adad</td>
                  <td style="width: 60%; padding-left: 5px;"></td>
                  <td style="width: 20%; padding: 3px; text-align: center; font-size: 8pt;">
                     <a href="http://"><img alt="ПОСМОТРЕТЬ" title="ПОСМОТРЕТЬ" src="http://mysite.ru/img/link.gif"></a></td>
                </tr></table>
          <br><br><p>
	<span style="color:#33ccff;font-size: 14px;">Тестовый текст</span>

	

	 <a href="http://mysite.ru/all.php?n=about">Обо мне</a></p>
<br><br>
          <div style="margin-top: 50px;"></div>
       </td></tr>     
       </table>
      </body>
       </html>

То есть двойные кавычки для задания атрибутов. То есть по сути write('<?php echo $html;?>'); должно нормально отработать. На сколько я понимаю - в одинарных ничего экранировать не надо. Или надо?

Ну вот такой превью показать надо, ну а потом направить почтой. (тут я пока не понял, но проверял на мейл и гмейл - они жрут оба варианта - что просто только body, что весь html, но вот почтовые программы не проверял, как с ними?)
...
Рейтинг: 0 / 0
Изменение содержимого страницы полностью. DOM. HTML. JS.
    #37953355
Фотография Малыхин Сергей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Появился HTML =)
Удали переводы строки в HTML
...
Рейтинг: 0 / 0
Изменение содержимого страницы полностью. DOM. HTML. JS.
    #37953359
_Промешан_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Малыхин СергейПоявился HTML =)
Удали переводы строки в HTMLКакой ф-ией?
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Изменение содержимого страницы полностью. DOM. HTML. JS.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]