Возможно ли засунуть скрипт в контейнер?
Здравствуйте уважаемые форумчане.
Возникла необходимость поместить такой код <!-- OYY.ru --> <script type="text/javascript"> <!--oyy_banner_id = '00000';document.write('<sc'+'ript type="text/javascript" src="'+('https:'==document.location.protocol?'https':'http')+'://ad.oyy.ru/oyy.js?rnd='+Math.round(Math.random()*100000)+'"></sc'+'ript>');//-->между <div></div> с помощью javascript после загрузки страницы. Подскажите, пожалуйста, как это можно реализовать. |
Что должно получиться на выходе?
<div></div> <script> window.onload = function () { var str = "<!-- OYY.ru -->"; str += "<sc" + "ript type='text/javascript'>"; str += "<!--oyy_banner_id = '00000';document.write('<sc'+'ript type='text/javascript' src=\''+('https:'==document.location.protocol?'https':'http')+'://ad.oyy.ru/oyy.js?rnd='+Math.round(Math.random()*100000)+'\'></sc'+'ript>');//-->"; document.body.children[0].innerHTML = str; alert(document.body.children[0].innerHTML ); } </script> http://learn.javascript.ru/learn.jav...ersing-dom.htm http://learn.javascript.ru/learn.jav...properties.htm |
bes,
Большое спасибо за помощь, но к сожалению приведенный Вами код работает не корректно, а именно вот эта часть //ad.oyy.ru/oyy.js?rnd='+Math.round(Math.random()*100000)+'\'></sc'+'ript>');//-->в результате выводится в виде комментария. На выходе необходимо получить следующее: <div> <!-- OYY.ru --><script type="text/javascript"><!-- oyy_banner_id = '00000'; document.write('<sc'+'ript type="text/javascript" src="'+('https:'==document.location.protocol?'https':'http')+'://ad.oyy.ru/oyy.js?rnd='+Math.round(Math.random()*100000)+'"></sc'+'ript>'); //--> </script> </div> |
Так лучше?
<script src="jquery-latest.min.js"></script> <div></div> <script> window.onload = function () { var str = "<!-- OYY.ru -->"; str += "<sc" + "ript type='text/javascript'>"; str += "<!--oyy_banner_id = '00000';document.write('<sc'+'ript type='text/javascript' src=\''+('https:'==document.location.protocol?'https':'http')+':\//ad.oyy.ru/oyy.js?rnd='+Math.round(Math.random()*100000)+'\'></sc'+'ript>');//-->"; document.body.children[0].innerHTML = str; alert(document.body.children[0].innerHTML ); } </script> |
bes,
К сожалению, результат тот же самый. Вы не знаете почему так происходит? |
нужен тестовый пример, я пока не понял, что у вас там происходит и что должно :)
возможность запуска [html run] |
На выходе должно получится так:
![]() А ваш код генерирует вот что: ![]() |
поступить надо также как и со script - разорвать
<div></div> <script> window.onload = function () { var str = "<!-- OYY.ru -->"; str += "<sc" + "ript type='text/javascript'>"; str += "<!--oyy_banner_id = '00000';document.write('<sc'+'ript type='text/javascript' src=\''+('https:'==document.location.protocol?'https':'http')+':/' + '/ad.oyy.ru/oyy.js?rnd='+Math.round(Math.random()*100000)+'\'></sc'+'ript>');//\n-->"; document.body.children[0].innerHTML = str; alert(document.body.children[0].innerHTML ); } </script> |
Нет, это тоже не работает. Видимо этот код какой-то слишком хитрый.
|
там ещё в конце два слеша
|
что в итоге-то должно произойти после добавления
|
Вообще-то он выполнится и загрузит в <head> скрипты.
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Example</title> </head> <body> <div></div> <script type="text/javascript"> function setElement(element) { return document.createElement(element); } window.onload=function() { var str='<!-- OYY.ru -\->', script=setElement('script'); script.type='text/javascript'; script.innerHTML="<!--\noyy_banner_id=\'00000\';document.write('<sc'+'ript type=\"text/javascript\" src=\"'+('https:'==document.location.protocol?'https':'http')+'://ad.oyy.ru/oyy.js?rnd='+Math.round(Math.random()*100000)+'\"></sc'+'ript>');\n//-\->"; document.body.children[0].innerHTML=str; document.body.children[0].appendChild(script); }; </script> </body> </html> А вот если убрать "\n" с начала и с конца, скрипт не выполнится и просто добавится в <div></div> как вы и просили. |
Часовой пояс GMT +3, время: 16:47. |