PHP+JS, не знаю как описать траблу

777374

Новичок
PHP+JS, не знаю как описать траблу

Здравствуйте!

[domain1.com/index.html]
Код:
<script type="text/javascript">id="0123456789";</script>
<script type="text/javascript" src="http://domain2.com/show.js"></script>

[domain2.com/show.js]
Код:
var 
s=document.createElement('script'),
d=document.createElement('div'),
u='http://domain2.com/show.php';
d.id=id;
s.type='text/javascript';
s.src=u+'?id='+id;
document.body.appendChild(s);
document.body.appendChild(d);

[domain2.com/show.php]
Код:
document.getElementById('<?php echo $id; ?>').innerHTML='CODE';

---------------------------------


Вот листинг 3-х файлов.
При обращении к [domain1.com/index.html] все проходит гладко, на странице показывается текст 'CODE'.


---------------------------------


Проблема заключается в следующем:
Мне нужно отображать в [domain1.com/index.html] способом показаным выше (или каким либо подобным способом) следующий код:

Код:
<script type="text/javascript">
google_ad_client = "pub-9632266941075386";
google_ad_slot = "8721639904";
google_ad_width = 160;
google_ad_height = 600;
</script>
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
Так вот, если ставить его в [domain2.com/show.php] innerHTML='сюда', то ничего не происходит, не могу понять почему.

Подскажите пожалуйста выход из ситуации.
Заранее огромное спасибо.
 

777374

Новичок
Автор оригинала: MiRacLe
расстаньтесь с этой затеей. В show_ads есть document.write
Да это я для примера привел..
Не важно.. гугл или что другое.... Просто еще скрипт загрузить нужно вот таким способом.. не работает..
 

MiRacLe

просто Чудо
Да это я для примера ответил...
Не важно.. гугл или что другое....
 

777374

Новичок
Любой html код вставляю - работает, а вот скрипт - нет

-~{}~ 24.09.08 16:39:

Автор оригинала: MiRacLe
Да это я для примера ответил...
Не важно.. гугл или что другое....
Подробнее пзл можно
 

MiRacLe

просто Чудо
потому что они не должны выполнятся, выполняй их сам

как это делается можно подсмотреть например в коде jQuery.globalEval
 

777374

Новичок
Автор оригинала: MiRacLe
это значит "они не будут выполнятся"
вы что, издеваетесь? ))
Я итак вижу что они не выполняются, так а в чем причина то?
мне код jquery неочем не говорит, я не особо в JS
раскройте тему, помогите
 

MiRacLe

просто Чудо
я тебе раскрыл тему - вставленный посредством innerHTML тег script выполнятся не будет.
Для того чтобы он всё-таки выполнился - нужно его (внимание!) выполнить, т.е. собрать всё содержимое тегов script и прогнать через eval*.
Далее либо в google или в раздел "Работа".
 

HaZ

Новичок
ну функция eval()

вопринимает содержимое как JS и пытается выполнить

eval('var haz = 1;');
 

kruglov

Новичок
Можно eval-ом, а можно сделать скрипт с таким текстом:

function blabla(){
тут пишете, что нужно делать
}

И после document.body.appendChild(s) запускаете blabla()
 

777374

Новичок
Я запутался... куда eval в моем случае ставить то и что ему скормить?!?
Извеняюсь.
 

HaZ

Новичок
Как то все замудрено

Попробуй после строки

document.getElementById('<?php echo $id; ?>').innerHTML='CODE';

вставить следущее
eval( document.getElementById('<?php echo $id?>').innerHTML' );
 
HaZ
Там будут html элементы же. А еще хуже - html special chars.

Кстати правильно заметили про document.write(). После загрузки DOM (когда вы будете выполнять код) вызов document.write() полностью перепишет страницу своим выводом. Так что решать такую задачу лучше серверными силами.
 

777374

Новичок
Код:
document.getElementById('<?php echo $id; ?>').innerHTML='<script>ids=381;</script><script language="JavaScript" type="text/JavaScript" charset="windows-1251" src="http://xxx.ru/j1.php"></script>';
eval(document.getElementById('<?php echo $id; ?>').innerHTML);
Вот так попробовал - ничего.

Уф...
Привел бы кто нибудь хоть один пример рабочего кода на основе той конструкции что я листанул выше.
Было бы очень здорово.
 

fixxxer

К.О.
Партнер клуба
http://www.artlebedev.ru/tools/technogrette/js/include/

с js подгружаемым с другого сервера наверное ничего не получится, хотя хз
 

JOSS-PHP

Новичок
нее... если JS грузится с другого домена - всё пучком будет.... если же скрипт обращается к другому домену, то напишет типа "нет прав на выполнение операции"...... и усё тут...
 
Сверху