Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> динамическая вставка кода Бегуна 
:(
    Опции темы
MAXakaWIZARD
  Дата 2.6.2010, 18:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Delphi wizard



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 5.1.2006
Где: Украина, г. Херсо н

Репутация: нет
Всего: нет



доброго времени суток.
задача следующая: требуется динамически вставлять код бегуна на страницу (не спрашивайте, зачем).
проблема заключается вот в чем: бегун использует document.write() в своих скриптах, в результате получаем перезатирание содержимого документа при динамической вставке.

приведу пример кода:
Код

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>Begun test</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
<script type="text/javascript">
window.onbeforeunload = function() { return 'Попытка покинуть страницу'; };

function Loaded()
{
    var newScript = document.createElement( 'script' );
    newScript.type = 'text/javascript';
    var txt = "var begun_auto_colors     = new Array();\n";
    txt += "var begun_auto_fonts_size = new Array();\n";
    txt += "var begun_blocked_urls    = new Array();\n";
    txt += "begun_auto_pad        = 123;       // идентификатор площадки\n";
    txt += "begun_auto_limit      = 5;              // число объявлений выводимых на площадке\n";
    txt += "begun_auto_width      = 350;            // ширина блока объявлений\n";
    txt += "begun_auto_colors[0]      = '#0000CC';      // цвет ссылки объявлений\n";
    txt += "begun_auto_colors[1]      = '#000000';      // цвет текста объявлений\n";
    txt += "begun_auto_colors[2]      = '#00CC00';      // цвет домена объявлений\n";
    txt += "begun_auto_colors[3]      = '#FFFFFF';      // цвет фона блока объявлений\n";
    txt += "begun_auto_fonts_size[0]  = '11pt';         // р-мер шрифта ссылки объявлений\n";
    txt += "begun_auto_fonts_size[1]  = '10pt';         // р-мер шрифта текста объявления\n";
    txt += "begun_auto_fonts_size[2]  = '10pt';         // р-мер шрифта домена объявления\n";
    txt += "begun_auto_fonts_size[3]  = '8pt';          // р-мер шрифта заглушки\n";
    txt += "var begun_block_type      = 'Vertical';   // тип блока\n";
    newScript.innerHTML = txt;
    document.getElementById( 'rotator_block' ).appendChild( newScript );
    
    var newScript = document.createElement( 'script' );
    newScript.type = 'text/javascript';
    newScript.src = 'http://autocontext.begun.ru/autocontext.js';
    document.getElementById( 'rotator_block' ).appendChild( newScript );    
}
</script>
</head>
<body onload="Loaded();">

<div style="border: 1px solid #000" id="rotator_block">
</div>

</body>
</html>


при выполнении содержимое документа переписывается кодом бегуна и срабатывает событие onbeforeunload (для индикации).
перерыв множество форумов и документации, пришел к выводу, что решения нет.
но хотелось бы еще услышать мнение коллег, дабы окончательно убедиться в этом.

PM MAIL ICQ   Вверх
ksnk
Дата 2.6.2010, 19:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 84
Всего: 386



MAXakaWIZARD, вообще-то изменение или переписывание рекомендуемого бегуном кода скорее всего является нарушением каких-то там бегунских прав. Робот бегуна периодически пробегает по "своим" сайтам и проверяет, что все вставлено правильно. Так что самостийно переписывать или подменять их код неумно и, вероятнее всего, небезопасно, могут и заблокировать. Разумнее всего обратится в саппорт этого самого бегуна и внятно объяснить им необходимость нового вида банеровставки.

Добавлено через 14 минут и 27 секунд
внозапно заинтересовался этим вопросом и обнаружил, что код бегуна может вставляться и в какой-то элемент
Код

...
 this.includeScript = function(url, type, callback, callback_name, check_var){
 ...
            if (url){
                if (type == 'write'){
                    script_count++;
...
                   d.write('<scr'+'ipt type="' + SCRIPT_TYPE + '" src="' + url + '" id="' + id + '"></scr'+'ipt>'); 
                    script = Begun.$(id);
                } else if (type == 'append'){
                    script = d.createElement("script");
                    script.src = url;
                    script.type = SCRIPT_TYPE;
                    var head = getHead();
                    head.appendChild(script);
                }
...
            }
        };

осталось только понять, каким образом доводится этот самый type до этого самого includeScript ... Может поковырять документацию?


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
MAXakaWIZARD
Дата 2.6.2010, 19:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Delphi wizard



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 5.1.2006
Где: Украина, г. Херсо н

Репутация: нет
Всего: нет



я не изменяю и не переписываю код бегуна. всего лишь хочу его вставлять динамически. если бы я изменял код бегуна, уже давно бы исправил проблему.
PM MAIL ICQ   Вверх
ksnk
Дата 2.6.2010, 20:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 84
Всего: 386



Еще немного поковырял банеровставки и не нашел возможности законно поменять тип вставляемого куска. В просмотренных мной банерах явно указывается тип "write" для вставки банера, без никакого дополнительного ума, так что скорее всего - в морг... Ну или в крайнем случае - в саппорт бегуна.


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0568 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.