Локальное изменение document.write
#jQuery
Появилась необходимость заменить write на append, т.к. при любых моих попытках изменить код янндекс директа, он просто перестает работать, решил заменить document.write на append в лоб. Но возникла задача: как вернуть document.write его предыдущее значение, после срабатывания в функции inID, чтобы в других частях кода write работал как прежде. P.S. Если не менять write на append, при использовании document ready, возникает ошибка: вся страница заменяется на тот код который выводит скрипт. document.write = function(str) { $('#ID').append(str); } function inID() { document.write('<sc' + 'ript type="text/javascript" src="http://an.yandex.ru/system/context.js"></sc' + 'ript>'); } $(inID()); |
Цитата:
|
Цитата:
Поправил описание: Цитата:
|
Цитата:
|
Цитата:
$(function() { if ($(#ID2).css('display') == 'block') return; inID(); }); |
А почему не сделать так:
$('#ID').append('<script type="text/javascript" src="http://an.yandex.ru/system/context.js"></sc' + 'ript>');или вообще тупо в html <script type="text/javascript" src="http://an.yandex.ru/system/context.js"></script>? Ответ же на конкртеный вопрос банален: : var oldWrite = document.write; document.write = function(str) { $('#ID').append(str) }; // code document.write = oldWrite; |
Цитата:
|
Всем большое спасибо
|
Цитата:
|
Цитата:
|
TheodoreChe, у тебя как у блока #ID2 выставляется display:none? Код покажи.
|
<div id="ID-00"></div> <script type="text/javascript"> var link = 'http://an.yandex.ru/system/context.js'; function scriptAppend(link,sel) { var s = document.createElement('script'); s.setAttribute("type","text/javascript"); s.src = link; $(sel)[0].appendChild(s); } scriptAppend(link,'#ID-00'); </script> |
Deff, все проще:
<div id="ID-00"> <script src="http://an.yandex.ru/system/context.js"></script> </div> |
Счетчики что ли наматывать собрались...
|
Часовой пояс GMT +3, время: 19:22. |