Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   какой аналог у document.write? (https://javascript.ru/forum/events/28517-kakojj-analog-u-document-write.html)

bes 23.05.2012 14:04

Если FF, то почитайте http://javascript.ru/forum/events/28...-rabotaet.html

Все операции c переменными производите в коде обработчика onload, в строку помещайте только то, что хотите видеть при выводе.
Для примера вынес используемый адрес ссылки в отдельную переменную.

<div>content</div>
<div id="myDiv"></div>

<script>
alert(1);

window.onload = function () {
  var number = '1) ';
  var address = 'http://ya.ru';
  var str = number + '<a href="' + address + '" target="blank">yandex</a>';
  myDiv.innerHTML = str;
}

alert(3);
</script>

rori 23.05.2012 14:28

Цитата:

Сообщение от bes (Сообщение 176203)
Если FF, то почитайте http://javascript.ru/forum/events/28...-rabotaet.html

Все операции c переменными производите в коде обработчика onload, в строку помещайте только то, что хотите видеть при выводе.
Для примера вынес используемый адрес ссылки в отдельную переменную.

<div>content</div>
<div id="myDiv"></div>

<script>
alert(1);

window.onload = function () {
  var number = '1) ';
  var address = 'http://ya.ru';
  var str = number + '<a href="' + address + '" target="blank">yandex</a>';
  myDiv.innerHTML = str;
}

alert(3);
</script>

ну это ссылка на страницу в которой эти темы будут, а как их вставить прям в див?

bes 23.05.2012 14:44

Цитата:

Сообщение от rori
в общем иннер не работает в фф как я понял? мне нужно, чтобы во всех браузерах работало

Всё работает, в последнем посте той темы весь ответ, просто используйте не myDiv, а document.getElementById('myDiv').

rori 23.05.2012 14:50

Цитата:

Сообщение от bes (Сообщение 176210)
Всё работает, в последнем посте той темы весь ответ, просто используйте не myDiv, а document.getElementById('myDiv').

ок, спасибо Вам, с этим разобрался, в фф отображает, сделал примерно, отображает ссылку при заходе на которую открывается отдельное окно с этими темами и лишним кодом))

bes 23.05.2012 16:06

Цитата:

Сообщение от rori
сделал примерно, отображает ссылку при заходе на которую открывается отдельное окно с этими темами и лишним кодом))

Зачем открывать новое окно и использовать document.write, вы же можете передать в ваш код нужные ссылки и их имена.
Кстати каким образом вы определяете, какие ссылки выводить (наверное php-код у вас страницу формирует, так и передайте в страницу эти сслыки и их имена)?

Я для примера просто создал массив и использовал ссылки оттуда.

<div>content</div>
<div id="myDiv"></div>

<script>
window.onload = function () {
  var mas = [
    'http://www.yandex.ru', 
    'http://www.google.ru'
  ];

  var length = mas.length;
  var str = '';
  for (var i = 0; i < length; i++) {
    var k = i + 1;
    var str = str + k + '. <a href="' +mas[i] + '" target="_blank">link ' + k + '</a><br>';
  }

  myDiv.innerHTML = str;
}
</script>

rori 23.05.2012 17:23

Цитата:

Сообщение от bes (Сообщение 176219)
Зачем открывать новое окно и использовать document.write, вы же можете передать в ваш код нужные ссылки и их имена.
Кстати каким образом вы определяете, какие ссылки выводить (наверное php-код у вас страницу формирует, так и передайте в страницу эти сслыки и их имена)?

Я для примера просто создал массив и использовал ссылки оттуда.

<div>content</div>
<div id="myDiv"></div>

<script>
window.onload = function () {
  var mas = [
    'http://www.yandex.ru', 
    'http://www.google.ru'
  ];

  var length = mas.length;
  var str = '';
  for (var i = 0; i < length; i++) {
    var k = i + 1;
    var str = str + k + '. <a href="' +mas[i] + '" target="_blank">link ' + k + '</a><br>';
  }

  myDiv.innerHTML = str;
}
</script>

скопировал код, вставил в сайт, линки не отображаются вообще, ни в каких браузерах, в общем хз, что делать

bes 23.05.2012 18:36

Цитата:

Сообщение от rori
скопировал код, вставил в сайт, линки не отображаются вообще, ни в каких браузерах, в общем хз, что делать

Ну если myDiv оставили, то в FF понятно, что не сработает (зачем просто копировать, если надо понять как работает).

Поясните по какому принципу вы ссылки на вывод получаете, тогда можно будет понять как их вывести.

rori 23.05.2012 18:40

Цитата:

Сообщение от bes (Сообщение 176250)
Ну если myDiv оставили, то в FF понятно, что не сработает (зачем просто копировать, если надо понять как работает).

Поясните по какому принципу вы ссылки на вывод получаете, тогда можно будет понять как их вывести.

честно сам незнаю как они формируются эти ссылки, но в скрипте ссылка на страницу recent.php в которой такой код:

var i=0
<!-- BEGIN topicrow -->
i=i+1
document.writeln(i)
document.writeln('<a href="{topicrow.U_TOPIC}" >{topicrow.TOPIC_TITLE}</a>{topicrow.TOPIC_REPLIES}<br />\n');
 
   <!-- BEGIN first_post_text -->
   document.writeln('{topicrow.first_post_text.TOPIC_FIRST_POST_TEXT}<br />\n');
      <!-- BEGIN attachment -->
      document.writeln('{topicrow.first_post_text.attachment.DISPLAY_ATTACHMENT}<br />\n');
      <!-- END attachment -->
   document.writeln('<br />\n');
   <!-- END first_post_text -->
document.writeln('</li>');
<!-- END topicrow -->


попробывал через джиквери

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<div id="eee"></div>
<script type="text/javascript">
$(document).ready(function() {
var forum='grinata.getbb.ru'; //Имя форума (укажите свой)
var num='5'; //Количество последних тем
var max='100'; // Максимальная длина темы
var ignore='';  // Список форумов, которые не нужно выводить (например закрытые) через запятую, если не нужно оставьте ''
var only=''; //  // Список форумов, которые НУЖНО выводить  и ТОЛЬКО ИХ через запятую, если не нужно оставьте ''
var type='0'; // Если изменить на еденицу, то будут выводится только топики со статусом "Объявление"
var show_first_post='0'; // показывать первое сообщение топика (0=нет,1=да)
var show_replies='0'; // показывать количество ответов (0=нет,1=да)
var attachments='0'; //показывать вложения (0=нет,1=да)
$("#eee").load("http://grinata.getbb.ru/recent.php");
});
</script>


но не могу понять почему не работает, ведь если вставить отдельно в браузер http://grinata.getbb.ru/recent.php то данные есть

bes 23.05.2012 20:19

Странный php-скрипт вывод делает, даже без тегов <script></script>, и как видно заточен этот скрипт именно под вывод при помощи document.write.

Для использования предложенного мною способа, необходимо передать на страницу из php-скрипта два массива, в одном массиве ссылки (значения атрибутов href, значение одного из них представлено у вас как {topicrow.U_TOPIC}), в другом имена этих ссылок ({topicrow.TOPIC_REPLIES}).

rori 23.05.2012 20:47

Цитата:

Сообщение от bes (Сообщение 176267)
Странный php-скрипт вывод делает, даже без тегов <script></script>, и как видно заточен этот скрипт именно под вывод при помощи document.write.

Для использования предложенного мною способа, необходимо передать на страницу из php-скрипта два массива, в одном массиве ссылки (значения атрибутов href, значение одного из них представлено у вас как {topicrow.U_TOPIC}), в другом имена этих ссылок ({topicrow.TOPIC_REPLIES}).

аа я понял, почему сначала Ваш код не работал с массивом, вордпресс сам добавил в строчки пропущенные тег <p> блин, щас попробую вставить в массив ссылки эти


Часовой пояс GMT +3, время: 10:21.