Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #21 (permalink)  
Старый 22.08.2015, 18:25
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от daslex
Проблема в том, что если не преобразовывать HTML код в HTML сущности, то при передаче текстовых данных в массив возникают непонятные мне проблемы.
В какой массив и зачем? Речь ведь идет о странице, код которой представлен, и которую нужно всего лишь навсего вывести в новом окне.
Ответить с цитированием
  #22 (permalink)  
Старый 22.08.2015, 18:26
Кандидат Javascript-наук
Отправить личное сообщение для daslex Посмотреть профиль Найти все сообщения от daslex
 
Регистрация: 17.04.2015
Сообщений: 125

Много файлов, в каждом файле свой код. Окно открывается одно. Т.к. файлов много, то удобно записывать их в массив, а потом передавать в открываемое окно.
В результате, в зависимости от выбранного пользователем <div> элемента, в открытое окно должен вписаться соответствующий этому <div> текст, который в свою очередь и хранится на сервере.

Массив или переменная не одно ли и то же?. Массив всего лишь хранит много переменных, но его переменная, это обычная переменная, ничем от других переменных не отличающаяся.

Последний раз редактировалось daslex, 22.08.2015 в 18:29.
Ответить с цитированием
  #23 (permalink)  
Старый 22.08.2015, 18:28
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Нужно отделять мух от котлет, иначе у вас слишком много бесполезной работы.
1) Кто хозяин этих описаний?
2) Ваш сайт динамический или статический?
Ответить с цитированием
  #24 (permalink)  
Старый 22.08.2015, 18:36
Аватар для KosBeg
Профессор
Отправить личное сообщение для KosBeg Посмотреть профиль Найти все сообщения от KosBeg
 
Регистрация: 22.05.2015
Сообщений: 384

а загрузить аяксом нужную страницу не пробовали?
Ответить с цитированием
  #25 (permalink)  
Старый 22.08.2015, 18:40
Кандидат Javascript-наук
Отправить личное сообщение для daslex Посмотреть профиль Найти все сообщения от daslex
 
Регистрация: 17.04.2015
Сообщений: 125

Задача моя. Ставил себе её я сам. Решение мне действительно нужно.
В Javascript я ничего не знаю. Я в этом признался честно и повторяю сейчас.
Кусочек с php писал я. C экранированием и html сущностями мне подсказали.

javascript под открытия окна писал я. Искал как делать много, долго и упорно. Настоящего автора сказать не могу. Я не знаю кто это был, я использовал его труд. То же самое для клика по <div>, автора сказать не могу, но выискал я своими силами.
HTML код написан мной.

Подход к решению выбран мной с некоторыми корректировками другими людьми.
__________________

И кто здесь автор описаний? Вроде не я, а вроде и я с некоторой помощью других людей.

__________________
Ответить с цитированием
  #26 (permalink)  
Старый 22.08.2015, 18:42
Кандидат Javascript-наук
Отправить личное сообщение для daslex Посмотреть профиль Найти все сообщения от daslex
 
Регистрация: 17.04.2015
Сообщений: 125

Я не знаю Аякса. Если в javascript я хотя бы document.write знаю, то там не знаю ничего. И скорее всего там будет эта же проблема, что сейчас стоит передо мной.
Ответить с цитированием
  #27 (permalink)  
Старый 22.08.2015, 18:55
Кандидат Javascript-наук
Отправить личное сообщение для daslex Посмотреть профиль Найти все сообщения от daslex
 
Регистрация: 17.04.2015
Сообщений: 125

Сейчас я быстро отвечать не могу, я отхожу от компа. Вечером вернусь. Часов в 23.00 по Москве...

И все-таки очень надеюсь, что решение найти поможете. Как-никак, отвечаете мне. Но надеюсь, что допросы прекратятся, если кому нужно слишком много деталей, готов показать своими глазами, что мне нужно, что у меня есть и что у меня не получается (с помощью teamviewer). Это займет намного меньше времени, чем писать ответы на все тонкости, колкости и проверку на "халявщика".

сейчас отхожу от компа.
Ответить с цитированием
  #28 (permalink)  
Старый 22.08.2015, 19:16
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от daslex
Но надеюсь, что допросы прекратятся, если кому нужно слишком много деталей, готов показать своими глазами
А кто вас допрашивает? Если хозяин описаний вы, если сайт динамический, то почему описания кода хранятся не в базе (а уж там и как раз и место), а свалены а какие-то файлы, к тому же так бездумно отдаваемые клиенту?
Если же все будет на севере организовано надлежащим образом, то запрос каждого описания, это полученное из базы через htmlspecialchars(), и вставленное в один и тот же шаблон html-кода. А какое описание запрашивается, а значит и вставляется, определяется параметром запроса в url для window.open(), а не получается из какого-то массива, который вообще не нужен.

Впрочем как хотите, но что-то советовать не зная всего трудно, и если это для вас "допрос"... ну значит майтесь с массивами и прочим.
Ответить с цитированием
  #29 (permalink)  
Старый 22.08.2015, 21:17
Аватар для KosBeg
Профессор
Отправить личное сообщение для KosBeg Посмотреть профиль Найти все сообщения от KosBeg
 
Регистрация: 22.05.2015
Сообщений: 384

Когда-прийдете - попробуйте это
<script type='text/javascript' >
function MyFunc(url){
  var xhr = new XMLHttpRequest();
  xhr.open('GET', url, true);
  xhr.send();
  xhr.onreadystatechange = function() {
    if (xhr.readyState != 4) return;
    if (xhr.status != 200) {
      alert('Ошибка: ' + xhr.status + '|' + xhr.statusText);
    } else {
      var NewWin=window.open('','','...');
      NewWin.document.write(xhr.responseText); // xhr.responseText - переменная в которой хранится нужный текст
    }
  }
}

// вызывать функцию так - MyFunc('MyFiles/MyFile.php')
</script>
 
<div id="id2" >
 <b>Кликни меня</b><br />
<script type='text/javascript'>  
document.getElementById("id2").onclick = MyFunc("<?php echo $url ?>"); // $url - нужный адрес, например у вас - "MyFiles/MyFile.php"
</script>
</div>
Ответить с цитированием
  #30 (permalink)  
Старый 22.08.2015, 21:54
Кандидат Javascript-наук
Отправить личное сообщение для daslex Посмотреть профиль Найти все сообщения от daslex
 
Регистрация: 17.04.2015
Сообщений: 125

KosBeg,
Так ничего вообще не происходит. Даже окно не открывается.

laimas,
С базой, конечно, должно быть удобнее решать, но я не умею работать с бд в принципе. И я не знаю насколько удобно потом вносить правки во все файлы максимально быстро. Да и само обращение к файлам работает быстрее чем обращение к бд.
Так-то если надо отдельный файл попраивть или массово что-то там дописать/изменить, то я могу себе что-то свое написать несложное. Из-за 1 правки импортировать бд в пару десятков МБ) Немного забавно, но неудобно. Мой интернет не безлимитный, а безлимитный интернет у меня по географическому положению в принципе отсутствует и еще лет 200 не будет.

Я в принципе не против решения с бд, но как я сказал, я не умею с ней работать программно. Сайт на Wordpress/ Что-то там портить в бд мне не хочется совсем.

Последний раз редактировалось daslex, 22.08.2015 в 22:05.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Решение проблемы кодировок для AJAX и PHP без iconv (cp1251 в AJAX) Serge Ageyev AJAX и COMET 10 24.04.2013 19:48
Заменить символы в строке, затем преобразовать строку в html majahead jQuery 2 03.03.2011 15:52
В зависимости от значения флажка выводить разный php код ZusulZoid Элементы интерфейса 2 06.09.2010 20:20
JavaScript Html + PHP oleh12 Я не знаю javascript 3 07.06.2009 14:37
как узнать html код документа, подгруженного в iframe alexKniaz Events/DOM/Window 7 03.12.2008 11:37