• Страница 1 из 1
  • 1
Форум Studio AD » Сайтостроение » Общий форум по Javascript » Подмена изображений (Подмена ссылок на изображение)
Подмена изображений
sss1
Дата: Воскресенье, 23.05.2010, 15:38 | Сообщение # 1
молчун
Группа: Пользователи
Пользователь №: 3018
Сообщений: 8
Здравствуйте, мне нужен скрипт подмены изображений, т.е.:
На странице загружается несколько изображений, урл которых:
http://www.site.ru/_ph/x/y/file.jpg, где переменная "x" меняется, в зависимости от категории. Мне надо, чтобы скрипт подменял ссылку на:
http://www.site.ru/_ph/x/y2/file.jpg, т.е. "y" изменялась на "y2".
  
UnderShot
Дата: Воскресенье, 23.05.2010, 16:16 | Сообщение # 2
оратор
Группа: Модераторы
Пользователь №: 45
Сообщений: 923
Получено оценок: 85
Code
<script>var a=document.createElement('a');
a.href='http://www.site.ru/_ph/x/y/file.jpg';
a.href=a.href.replace(/\/y\//i,/y2/);
alert(a)// вместо алерта — любое</script>


Очень важная тема!
Filmzona — онлайн фильмы.
  
UnderShot
Дата: Воскресенье, 23.05.2010, 16:20 | Сообщение # 3
оратор
Группа: Модераторы
Пользователь №: 45
Сообщений: 923
Получено оценок: 85
Code
<a href='http://www.site.ru/_ph/x/y/file.jpg' class='image'>img</a>
<script>
$(document).ready(function(){var a=$('.image');a.attr('href','http://www.site.ru/_ph/x/y2/file.jpg')})
</script>

Или так.


Очень важная тема!
Filmzona — онлайн фильмы.
  
sss1
Дата: Воскресенье, 23.05.2010, 16:40 | Сообщение # 4
молчун
Группа: Пользователи
Пользователь №: 3018
Сообщений: 8
UnderShot, спасибо, но урл надо подменить не в ссылках, а в изображениях(тег img), "x" и "file.jpg" меняются, т.е. не получится изменить урл у всех картинок. Кстати, речь идет о урл такого вида:
Code
http://www.wallplanet.ru/_ph/8/1/765352394.jpg
http://www.wallplanet.ru/_ph/8/2/765352394.jpg
,
http://www.wallplanet.ru/_ph/19/1/227247254.jpg
http://www.wallplanet.ru/_ph/19/2/227247254.jpg


Сообщение отредактировал sss1 - Воскресенье, 23.05.2010, 16:42
  
UnderShot
Дата: Воскресенье, 23.05.2010, 16:57 | Сообщение # 5
оратор
Группа: Модераторы
Пользователь №: 45
Сообщений: 923
Получено оценок: 85
Code
<img src='http://www.wallplanet.ru/_ph/8/1/765352394.jpg' class='img_class' alt=''/>
<script>
// img_class — любой класс
b=(document.getElementsByTagName)?document.getElementsByTagName('*'):document.all;
for(i=0;i<b.length;i++){
if(b[i].className == 'img_class'){b[i].src=b[i].src.replace(/\/8\//i,'/19/').replace(/\/765352394.jpg/i,'/227247254.jpg');}}
</script>


Очень важная тема!
Filmzona — онлайн фильмы.
  
sss1
Дата: Воскресенье, 23.05.2010, 17:26 | Сообщение # 6
молчун
Группа: Пользователи
Пользователь №: 3018
Сообщений: 8
Вы меня не поняли, в частности, эти примеры. Объясню по другому:

У меня нас странице много картинок, привожу пример кода:

Code
<img src="http://www.wallplanet.ru/_ph/2/1/710845007.jpg">
Или вот, другая картинка
<img src="http://www.wallplanet.ru/_ph/4/1/464638526.jpg">

Мне надо, чтобы урл'ы этих картинок менялись на:
<img src="http://www.wallplanet.ru/_ph/2/2/710845007.jpg">
и
<img src="http://www.wallplanet.ru/_ph/4/2/464638526.jpg">
Вот эти "места"
<img src="http://www.wallplanet.ru/_ph/2/2/710845007.jpg> и
<img src="http://www.wallplanet.ru/_ph/4/2/464638526.jpg>
изменяются у каждой картинки(картинок на странице более 40), мне нужно, чтобы этот скрипт работал для всех изображений.


Сообщение отредактировал sss1 - Воскресенье, 23.05.2010, 17:31
  
UnderShot
Дата: Воскресенье, 23.05.2010, 17:51 | Сообщение # 7
оратор
Группа: Модераторы
Пользователь №: 45
Сообщений: 923
Получено оценок: 85
Code
<script>var img=document.getElementsByTagName('img');
img.src=img.src.replace(/\/_ph\/2\/1\//i,'/_ph/2/2/')
.replace(/\/_ph\/2\/2\//i,'/_ph/4/2/')
.replace(/\/710845007.jpg/i,'464638526.jpg')</script>


Очень важная тема!
Filmzona — онлайн фильмы.
  
sss1
Дата: Воскресенье, 23.05.2010, 18:16 | Сообщение # 8
молчун
Группа: Пользователи
Пользователь №: 3018
Сообщений: 8
Вы меня опять не поняли :( .
Тогда вот так: www.wallplanet.ru на главной странице много картинок(с разрешением 120x96px), мне нужно, чтобы урлы для изображений были со страниц с комментариями. Допустим вот эта картинка:
http://www.wallplanet.ru/_ph/3/ 1/383777380.jpg, она взята с главной страницы, вот эта http://www.wallplanet.ru/_ph/3/ 2/383777380.jpg взята со страницы с комментариями. Мне нужен скрипт, который будет заменять в урл цифру 1 на 2(выделены выше) у всех картинок, т.к. на uCoz'e нет кода, который бы выдавал урл картинки из шаблона "фото с комментариями" в шаблоне "вид картинок".
  
UnderShot
Дата: Воскресенье, 23.05.2010, 18:50 | Сообщение # 9
оратор
Группа: Модераторы
Пользователь №: 45
Сообщений: 923
Получено оценок: 85
Если в информере картинки выводятся, то:
Code
<div class='demo-images'>$PHOTO$</div>

Перед </body>
Code
<script>
$(document).ready(function(){$('.demo-images img').attr('src').replace(new RegExp('/1/', "gi"), '/2/')})
</script>


Очень важная тема!
Filmzona — онлайн фильмы.
  
sss1
Дата: Воскресенье, 23.05.2010, 19:31 | Сообщение # 10
молчун
Группа: Пользователи
Пользователь №: 3018
Сообщений: 8
Не работает, сделал все, как вы сказали www.wallplanet.ru

Сообщение отредактировал sss1 - Воскресенье, 23.05.2010, 19:32
  
Infamous
Дата: Воскресенье, 23.05.2010, 21:15 | Сообщение # 11
говорун
Группа: Проверенные
Пользователь №: 316
Сообщений: 158
Получено оценок: 21
Code
$('.demo-images img').each(function () {
this.src = this.src.replace(/1/g, '2');
});
  
sss1
Дата: Понедельник, 24.05.2010, 13:02 | Сообщение # 12
молчун
Группа: Пользователи
Пользователь №: 3018
Сообщений: 8
Infamous, не правильно работает, т.к. изменяются все цифры "1", т.е. если в урл присутствует цифра 1, то она заменяется на 2.
Пример:
Code
После применения скрипта, мне нужен вот такой урл:
http://www.wallplanet.ru/_ph/8/2/663811679.jpg
А с вашим получается:
http://www.wallplanet.ru/_ph/8/2/663822679.jpg

Кстати, в урл без цифры 1, все заменяется и работает. Пример можете посмотреть здесь.


Сообщение отредактировал sss1 - Понедельник, 24.05.2010, 13:09
  
Aleko
Дата: Понедельник, 24.05.2010, 13:07 | Сообщение # 13
Watching you
Группа: Администраторы
Пользователь №: 2
Сообщений: 1621
Получено оценок: 167
Code
$('.demo-images img').each(function () {
this.src = this.src.replace(/\/1\//g, '/2/');
});


Бесплатные обои.
  
sss1
Дата: Понедельник, 24.05.2010, 13:22 | Сообщение # 14
молчун
Группа: Пользователи
Пользователь №: 3018
Сообщений: 8
Aleko, спасибо большое! Все отлично, кроме одного раздела.
Это первый раздел, и цифра 1 в урл меняется неправильно.
Пример:
Code
http://www.wallplanet.ru/_ph/1/1/522797816.jpg
и
http://www.wallplanet.ru/_ph/2/1/522797816.jpg


Сообщение отредактировал sss1 - Понедельник, 24.05.2010, 13:25
  
sss1
Дата: Понедельник, 24.05.2010, 14:39 | Сообщение # 15
молчун
Группа: Пользователи
Пользователь №: 3018
Сообщений: 8
Все, я сам доделал. Сделал(экспериментировал) еще один скрипт для картинок из категории "авто"(теперь на странице их 2):
Code
<script>
$('.demo-images2 img').each(function () {
           this.src = this.src.replace(/\/1\/1\//g, '/1/2/');
});
</script>

Далее написал код(в виде картинок или информере) с условными операторами:
Code
<?if($CAT_NAME$='Авто')?>
<div class="demo-images2">
<a href="$PHOTO_URL$"><img src="$PHOTO_DIRECT_URL$"></a>
</div>
<?else?>
<div class="demo-images">
<a href="$PHOTO_URL$"><img src="$PHOTO_DIRECT_URL$"></a>
</div>
<?endif?>

В итоге все работает.


Сообщение отредактировал sss1 - Понедельник, 24.05.2010, 14:47
  
Aleko
Дата: Понедельник, 24.05.2010, 18:59 | Сообщение # 16
Watching you
Группа: Администраторы
Пользователь №: 2
Сообщений: 1621
Получено оценок: 167
Code
$('.demo-images img').each(function () {
this.src = this.src.replace(/\/(\d+)\/1\//g, '/$1/2/');
});


Бесплатные обои.
  
Форум Studio AD » Сайтостроение » Общий форум по Javascript » Подмена изображений (Подмена ссылок на изображение)
  • Страница 1 из 1
  • 1
Поиск:
© Studioad.ru 2006 · 2010. Использование материалов форума на сторонних ресурсах без прямой обратной ссылки строго запрещено. Хостинг от uCoz.