Просмотр полной версии : JS на конкретный Url
Blizzart
20.02.2010, 19:26
Здравствуйте, уважаемые, форумчани.
У меня такой вопрос: возможно ли чтобы JS включал css только тогда, когда заходишь на конкретный адрес?
Например, у меня статья, которая отображается на главной странице, но хочу чтобы, когда заходишь в статью, она отображалась с другим стилем.
http://comfortown.orgfree.com/ здесь хочу сделать это с новостями.
<head>
...
<script type="text/javascript">
if (String(location).substr(0, 29) === 'http://comfortown.orgfree.com')
document.write('<link rel="stylesheet" type="text/css" href="yourCSS.css" />');
</script>
...
</head>
Blizzart
21.02.2010, 00:22
<script type="text/javascript">
if (String(location).substr(0, 29) === 'http://comfortown.orgfree.com/index.php/newslatest')
document.write('<style type="text/css">
<!--
.contentpaneopen a:link {
visibility:hidden;
}
.contentpaneopen a:visited {
visibility:hidden;
}
.a:link {
visibility:hidden;
}
.p {
visibility:hidden;
}
-->
</style>');
</script>
А вот такая конструкция рабочая?
Просто она не работает, хотя я ее в страницу интегрировал с помощью JUMI
Результат работы String(location).substr(0, 29) нельзя сравнивать с 'http://comfortown.orgfree.com/index.php/newslatest', такое сравнение всегда будет ложно, так как у этой строки длина явно больше 29. Можно еще так проверить адрес:
if (location.hostname === 'comfortown.orgfree.com' && location.pathname === '/index.php/newslatest')
Если у вас хост не меняется, можете оставить только проверку пути.
Теперь насчет write: в яваскрипте, если я ничего не путаю, нет синтаксиса для многострочных констант, поэтому прийдется переписать так:
document.write([
'<style type="text/css">',
' .contentpaneopen a:link {',
' visibility:hidden;',
' }',
...
'</style>'].join('\n'));
Вообще, подключение CSS-ов надо бы делать на стороне сервера - я так понимаю вы это в какой-нибудь главный шаблон добавляете, и будет этот скрипт болтаться где надо и где не надо.
Blizzart
21.02.2010, 11:45
vk65535, спасибо :thanks:
Нет, в главный шаблон я это добавлять не буду, а добавил в страницу, на которую ведет эта ссылка.
Единственное, что я не понял, так как я нуб в JS, для чего нужно:
join('\n') :)
Нашел только, то что это добавляет значения в массив...
http://javascript.ru/Array/join
vBulletin® v3.6.7, Copyright ©2000-2025, Jelsoft Enterprises Ltd. Перевод: zCarot