Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   результат скрипта (https://javascript.ru/forum/misc/22221-rezultat-skripta.html)

e-do 11.10.2011 00:37

результат скрипта
 
всем доброго дня, помогите пожалуйста. вопрос такой.

как можно с помощью js вставлять сгенерированый html код, прямо в страницу, попробую объяснить подробнее. Нужно чтобы результат, который сгенерирован скриптом в исходном коде страницы показывался как html блок обычный, а не сам скрипт<script >...</script>.

systemiv 11.10.2011 02:20

createElement()?

aiky 11.10.2011 10:39

document.getElementById('yourElementId').innerHTML = yourHTML

e-do 11.10.2011 11:19

Цитата:

Сообщение от aiky (Сообщение 130748)
document.getElementById('yourElementId').innerHTML = yourHTML

aiky, не, это не подходит, кстати посмотрите вот это про getElementById http://www.factsandpeople.com/facts-...getelementbyid

e-do 11.10.2011 12:07

systemiv,
не, не получается. Мне нужно, чтобы результат был виден в исходном коде страницы. Например,
<script type="text/javascript">
var my_div = null;
var newDiv = null;

function addElement()
{
  // создаем новый элемент div
  // и добавляем в него немного контента
  newDiv = document.createElement("div");
  newDiv.innerHTML = "<h1>Привет!</h1>";

  // добавляем только что соданый элемент в дерево DOM
  my_div = document.getElementById("org_div1");
  document.body.insertBefore(newDiv, my_div);
}

</script>

<body onload="addElement()">
<div id='org_div1'> Текст в данном элементе будет создан динамически.</div>
</body>


как сделать, чтобы исходном коде страницы (когда смотришь в мозилле например, исходный код) выводился
<body onload="addElement()">
<div>
<h1>Привет!</h1>
</div>
<div id="org_div1"> Текст в данном элементе будет создан динамически.</div>
</body>

а не текст скрипта.

Я недавно начал копаться в js, может что то не понимаю, но я преследую две цели.
Во первых, мне кажется что код скрипта не индексируется поисковиками нормально, а результат скрипта как раз и есть для seo, хотелось чтобы выводился статичный html код.
Во вторых, генерированные элементы нужны для дальнейшей обработки, куда вставляется еще контент.

В общем вот код, который смастерил, не судите строго если сделано кривовато))
var uCatsOut=[//['ID','ParentID','isSection','Name','Descr','URL','NumEntries']
['7','1','0','тратата1','','http://mysite1','0'],
['8','1','0','тратата2','','http://mysite2','5'],
['10','1','0','тратата3','','http://mysite3','0'],
['11','1','0','тратата4','','http://mysite4','0'],
['12','1','0','тратата5','','http://mysite5','1'],
['13','1','0','тратата6','','http://mysite6','0'],
['22','1','0','тратата7','','http://mysite7','0']
];
var randNum;
var randNumOld = [];

function getRandomInt(min, max){
  randNum = Math.floor(Math.random() * (max - min + 1)) + min;
  if(randNumOld){
   for(k = 0; k < randNumOld.length; k++){
    if(randNum==randNumOld[k]){
     getRandomInt(min, max);
    }
   }
  }
  return randNum;
}
 
$(document).ready(function(){
 for(i=0; i<6; i++){
  $('div.serial tr').append(function(){
   randNumOld[i] = getRandomInt(0, uCatsOut.length-1);
   var k = '<td><div class="infotdcontent cid';
   k += randNumOld[i];
   k += '"><a class="poster" href="';
   k += uCatsOut[randNumOld[i]][5];
   k += '"></a><h3>';
   k += uCatsOut[randNumOld[i]][3];
   k += '</h3><span class="lastepisod"></span><a class="download" href="';
   k += uCatsOut[randNumOld[i]][5];
   k += '#for_dnld" title="Скачать ';
   k += uCatsOut[randNumOld[i]][3];
   k += ' бесплатно">Скачать</a></div><div class="infotdbottom"></div></td>';
 return k;
   });
   var cid = 'div.cid' + randNumOld[i] + ' a.poster';
   var title = 'div.cid' + randNumOld[i] + ' span.lastepizode';
   $(cid).load("uCatsOut[randNumOld[i]][5] #allEntries > div:first-child img");
   $(title).load('uCatsOut[randNumOld[i]][5] #allEntries > div:first-child eTitle a');
  };
 });


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

systemiv 11.10.2011 12:18

Вот такой порядок:
Сначала создаётся DOM модель документа, а потом создаются дополнителье возможности с помощью JS. Если Вам для СЕО, то у поисковых роботов есть модули для работы через JavaScript.
Вы можете выводите текст, как писали Выше через innerHTML
В ФаерБаге он будет виден, так же будет видел в Хроме, в просмотре кода элемента.
Текст создаётся динамически, а Исходный код страницы во время её загрузки. Как бы так.

aiky 11.10.2011 12:18

Цитата:

Сообщение от e-do
а результат скрипта как раз и есть для seo

каким образом гугли и яндексы будут индексировать Ваш сгенерированый в броузере код?

e-do 11.10.2011 12:49

systemiv,
то есть не надо замарачиваться на исходный код? поисковики видят так же, как в ФаерБаге? спасибо хоть одним успокоили. Ну как сказать, просто этот код генерирует блок со случайными материалами, хотелось чтобы ссылки на материалы эти индексировались.

Хорошо, тогда что я не правильно делаю, как мне в генерированные элементы вставлять еще элементы? в данном случае с моим кодом? начиная со строки 42

e-do 11.10.2011 13:03

aiky,
не знаю )) поэтому и интересуюсь у вас))


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