Локальное изменение 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, время: 23:52. |