Возможно ли засунуть скрипт в контейнер?
Здравствуйте уважаемые форумчане.
Возникла необходимость поместить такой код
<!-- 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, время: 17:48. |