Приветствую всех!
Не могу решить проблему с отображением кода JavaScript в блоке (он просто похоже не работает). Когда пытался завести Google Adsense начал грешить на косяки со стороны Google. Однако когда попытался добавить код счетчика HotLog понял, что проблема глобальная...
Что я пытался, но это не помогло:
1. Выставлял Full HTML и PHP
2. Обновил jQuery модулем jQuery_update.
PS. Смотрел в различных браузерах - везде одно и то же: вместо рекламного блока и счетчика пустота
Комментарии
формат ввода поменяй на PHP code
wazzup - вы невнимательно прочитали мое сообщение
пользуемся функцией drupal_add_js и не паримся
А если ввести на страницу (в тело ноды) скрипт - то работает?
<?php print $closure ?>
?может сам браузер режет рекламу?
glu2006 - другого варианта нет?
IrinaStasuk - не помогло
PVasili - я Вас не понял, что Вы хотели сказать
jason32 - нет, не режет, я в нескольких проверял
1. А чем не устраивает использование функции?
2. Имелось ввиду наличие в файле page.tpl.php темы строчки
<?php print $closure; ?>
перед закрывающими тегами body и html.
glu2006 - я только начинаю знакомиться с drupal, поэтому не обессудьте.
Я создал блокнотом файл и вогнал туда код от hotlog'a. Потом добавил вот это <?php drupal_add_js('/hotlog.js') ?> в page.tpl.php темы garland (она у меня используется на сайте). Результат нулевой.
PVasili - это строчка присутствует в используемой теме.
PS я раньше пытался добавить код php в блоки и он тоже не срабатывал - тогда я грешил на кривизну кода. Я теперь уже подозреваю, что где-то глобально в друпале стоит запрет на исполнение стороннего кода. Хотя где? Рассмотреть функционал drupal за два месяца изучения я смог думаю вполне....
тогда могу сказать только одно больного в студию :).
где лежит код hotlog.js на сайте?
где он должен быть добавлен в head или body ?
Вызывать функцию drupal_add_js() внутри этого файла бесполезно, потому что переменная $scripts уже сформирована.
Лучше просто вставить код
где-нибудь до тега </head>.
А файл hotlog.js поместить не в корень сайта, а в папку темы.
И ещё, изменять тему garland не нужно. Правильно будет создать подтему на основу garland. Думаю, на сайте должна быть хорошая информация по этому вопросу.
glu2006 - больного? скрипт чтоли? вот он:
hotlog_js="1.0"; hotlog_r=""+Math.random()+"&s=296166&im=129&r="+
escape(document.referrer)+"&pg="+escape(window.location.href);
document.cookie="hotlog=1; path=/"; hotlog_r+="&c="+(document.cookie?"Y":"N");
</script>
<script type="text/javascript" language="javascript1.1">
hotlog_js="1.1"; hotlog_r+="&j="+(navigator.javaEnabled()?"Y":"N");
</script>
<script type="text/javascript" language="javascript1.2">
hotlog_js="1.2"; hotlog_r+="&wh="+screen.width+"x"+screen.height+"&px="+
(((navigator.appName.substring(0,3)=="Mic"))?screen.colorDepth:screen.pixelDepth);
</script>
<script type="text/javascript" language="javascript1.3">
hotlog_js="1.3";
</script>
<script type="text/javascript" language="javascript">
hotlog_r+="&js="+hotlog_js;
document.write('<a href="http://click.hotlog.ru/?296166" target="_top"><img '+
'src="http://hit20.hotlog.ru/cgi-bin/hotlog/count?'+
hotlog_r+'" border="0" width="88" height="31" alt="HotLog"><\/a>');
</script>
<noscript>
<a href="http://click.hotlog.ru/?296166" target="_top"><img
src="http://hit20.hotlog.ru/cgi-bin/hotlog/count?s=296166&im=129" border="0"
width="88" height="31" alt="HotLog"></a>
</noscript>
PVasili - был сначала в корне hotlog.js, по совету v_20q перенес в тему. Вставлял я строчку в разные места - эффект нулевой
v_20q - сделал как вы сказали, за исключением создания подтемы (для тестирования думаю можно и garland использовать) - результат нулевой.
PS прям инва(й)лидом себя чувствую
Вот код моего блока для счетчика лив-интернет
document.write("<a href='http://www.liveinternet.ru/click' "+
"target=_blank><img src='http://counter.yadro.ru/hit?t12.6;r"+
escape(document.referrer)+((typeof(screen)=="undefined")?"":
";s"+screen.width+"*"+screen.height+"*"+(screen.colorDepth?
screen.colorDepth:screen.pixelDepth))+";u"+escape(document.URL)+
";"+Math.random()+
"' alt='' title='LiveInternet: показано число просмотров за 24"+
" часа, посетителей за 24 часа и за сегодня' "+
"border='0' width='88' height='31'><\/a>")
//--></script><!--/LiveInternet-->
И у меня он работает. Смотреть на http://mpro.by. Вставлен именно кодом в блок формат ввода php, drupal-5
В связи с этим у меня возник вопрос а не стоит ли у Вас на теле блока какой нибудь визуальный редактор типа тини или фск?
И еще не забывайте чистить кеш, блоки кешируются.
keha3912:
У меня твой код не работает. Drupal 6. Ругается на лишний обратный слеш в этом куске в теге A.
... height='31'><\/a> ...
Убрал слеш, всё заработало.
keha3912:
Чтобы немного прояснить, что же из выше сказанного важно, вот:
Функция drupal_add_js() используется для добавления на страницу чистого JS. Твой код - это смесь JS и HTML, поэтому через эту функцию его добавлять нельзя.
По этой же причине нельзя его выносить в отдельный файл с расширение .js. В таких файлах может быть только чистый javascript.
Единственный способ вставить этот код на страницу — это вставить его целиком в нужное место, т.е. в блок с форматом вывода Full HTML, как делал в самом начале.
Не работает он просто потому, что там ошибка синтаксиса. Такие вещи нужно искать в консоли ошибок браузера.
glu2006 - да, FCKeditor гадил немного , отключил его на странице редактирования блока. (хотя я его в момент внесения кода отключал кнопкой Источник (Source))
v_20q - спасибо за вашу въедливость она меня спасла. Именно убирание ошибки синтаксиса и выбор Full HTML привел меня к победе над счетчиком!
Однако блок Google Adsense так и не отображается. И там похоже только javascript.
Вот он:
google_ad_client = "pub-1949508258277338";
/* 728x90, создано 31.07.09 */
google_ad_slot = "9182511051";
google_ad_width = 728;
google_ad_height = 90;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
PS Поднятие вопроса про Google Adsense похоже на впихивание нового обсуждения в старое, однако, думаю, половина здесь уже сказанного имеет прямое отношение и к моей проблеме с Google Adsense, поэтому не вижу смыслы плодить темы-близнецы (хотя модерам виднее)
Видно про меня благополучно забыли
Поэтому я воспользовался опытом АСКЕТа http://www.drupal.ru/node/30907 и у меня все заработало
PS надеюсь это обсуждение поможет кому-то еще