Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 18.09.2008, 23:36
Новичок на форуме
Отправить личное сообщение для XpycTuk Посмотреть профиль Найти все сообщения от XpycTuk
 
Регистрация: 18.09.2008
Сообщений: 3

Скрипт не работает в опере, работает в IE
В общем есть скрипт для создания галереи юзербаров на своем сайте.
И раньше он работал как часы, но после перехода на Opera 9.5 и выше он перестал работать. Хотя в IE все норм.

вот сам скрипт, точнее его первая часть

Код:
<script language='JavaScript' type="text/javascript">
<!--
function Insert(text,my_bar){
	if (text) {
	    var site_url="www.nngl.ru";
	    if (my_bar=="1") {
		var bar_url="/forum/uploads/"+text;
	    } else {
		var bar_url="/images/userbars/"+text;
	    }
	    if (document.getElementById("code_forum1")) {
		var input=document.getElementById("code_forum1");
		input.value="";
	    }
	    if (document.getElementById("code_forum2")) {
		var input=document.getElementById("code_forum2");
		input.value="[img=http://"+site_url+bar_url+"]";
	    }
	    if (document.getElementById("code_html")) {
		var input=document.getElementById("code_html");
		input.value="<a href='http://"+site_url+"' target='_blank'><img src='http://"+site_url+bar_url+"' border='0'></a>";
	    }
	} else {
		alert("Необратимая ошибка!");
	}
}
//-->
</script>
далее идут поля с textarea

и далее код продолжается
Код:
<?
 $dir = $conf[site_path]."images/userbars/";
 $url = "http://".$conf[site_url]."/images/userbars/";
 $no_view=array("..",".","Thumbs.db","thumbs.db");
 if ($dh = opendir($dir)) {
  while (!(($file = readdir( $dh ) ) === false ) ) {
   if ( is_file("$dir/$file") and (!in_array($file,$no_view)) ) {
     echo "<p align=center style='margin:5pt'><a href='javascript:Insert(\"".$file."\",0)'><img src='/images/userbars/".$file."' border='0'></a></p>";
   }
  }
 } else {
  echo "<p class=normal>Ошибка при чтении каталога. Обратитесь к администрации!</p>";
 }
 closedir($dh);
?>
Помогите пожалуйста. Видел такие же галереи на других сайтах, но у них в опере этот скрипт работает. Значит смогли как то сделать.
Заранее спасибо
Ответить с цитированием
  #2 (permalink)  
Старый 19.09.2008, 00:30
Отправить личное сообщение для Андрей Параничев Посмотреть профиль Найти все сообщения от Андрей Параничев
 
Регистрация: 21.02.2008
Сообщений: 1,250

Что именно не работает?
Ответить с цитированием
  #3 (permalink)  
Старый 19.09.2008, 00:41
Новичок на форуме
Отправить личное сообщение для XpycTuk Посмотреть профиль Найти все сообщения от XpycTuk
 
Регистрация: 18.09.2008
Сообщений: 3

ой, простите, самого главного не написал )))

при клике на картинку в соответствующей textarea должен появляться код юзербара, уже готовый для вставки в подпись

в Opera при клике ничего не происходит

http://www.nngl.ru/viewpage.php?page_id=16
вот можете сами проверить
Ответить с цитированием
  #4 (permalink)  
Старый 19.09.2008, 17:11
Отправить личное сообщение для Андрей Параничев Посмотреть профиль Найти все сообщения от Андрей Параничев
 
Регистрация: 21.02.2008
Сообщений: 1,250

XpycTuk,
Единственную ошибку выдает:
eval() illegal XML character
line 10: if (eval(hours) <10) {hours="0"+hours}

И вставка изображения вообще не работает. Попробуйте убрать этот код, или изменить eval на parseInt() или toString().

Последний раз редактировалось Андрей Параничев, 19.09.2008 в 17:22.
Ответить с цитированием
  #5 (permalink)  
Старый 03.03.2009, 23:24
Аспирант
Отправить личное сообщение для 12345c Посмотреть профиль Найти все сообщения от 12345c
 
Регистрация: 01.03.2009
Сообщений: 33

XpycTuk: в коде есть 2 источника ошибок (хотя у меня везде работает), какая-то из них перестала поддерживаться Оперой:
1) одинаковые имена атрибутов name и id
textarea cols='80' rows='2' name='code_forum1' id='code_forum1' ...
2) обращение к полю ввода textarea через value (попробуйте через innerHTML).
input.value=...
Скачал оперу 9.64, и в ней страница работает. Может, просто блокировка скриптов у вас включена?
Ответить с цитированием
  #6 (permalink)  
Старый 04.03.2009, 11:49
-
Отправить личное сообщение для twolf Посмотреть профиль Найти все сообщения от twolf
 
Регистрация: 16.07.2008
Сообщений: 207

12345c,
ужас. это как раз у Вас неправильно.
1) name и id могут быть одинаковыми.
2) обращение к полю ввода textarea ТОЛЬКО через value
Ответить с цитированием
  #7 (permalink)  
Старый 04.03.2009, 11:57
Новичок на форуме
Отправить личное сообщение для XpycTuk Посмотреть профиль Найти все сообщения от XpycTuk
 
Регистрация: 18.09.2008
Сообщений: 3

всем спасибо, давно уже решил проблему
если кому интересен рабочий код - пишите, выложу
Ответить с цитированием
  #8 (permalink)  
Старый 04.03.2009, 13:10
Аспирант
Отправить личное сообщение для 12345c Посмотреть профиль Найти все сообщения от 12345c
 
Регистрация: 01.03.2009
Сообщений: 33

twolf, могут, но когда-то в FF были проблемы с одинаковыми именами, поэтому пишу о догадках, что в 9.5 могло не работать. А innerHTML в textarea работает, проверьте. Хотя исторически, конечно, value.
Ответить с цитированием
  #9 (permalink)  
Старый 06.03.2009, 12:34
-
Отправить личное сообщение для twolf Посмотреть профиль Найти все сообщения от twolf
 
Регистрация: 16.07.2008
Сообщений: 207

12345c,
1) что ж за скрипт должен быть такой, чтоб были из-за этого проблемы
2) мне вот интересно, вы сами то пробовали? Исторически - только у микрософт. У них innerHTML появился. Для texеarea innerHTML работает только в ослах.
Ответить с цитированием
  #10 (permalink)  
Старый 06.03.2009, 15:50
Аспирант
Отправить личное сообщение для 12345c Посмотреть профиль Найти все сообщения от 12345c
 
Регистрация: 01.03.2009
Сообщений: 33

2) да,
1) были проблемы с обращением к объекту у FF 1.xx каких-то.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
insertBefore выдаёт ошибку и не работает на опере и фоксе SunnyDay Общие вопросы Javascript 3 19.09.2008 12:08
Не работает скрипт в IE Gena Internet Explorer 0 28.08.2008 14:27
Скрипт, который должен листать объекты не работает. Mike Abasov jQuery 4 12.08.2008 11:16
Скрипт не работает в Opera, Firefox Faster Events/DOM/Window 2 08.08.2008 18:56
Новости на сайте! Не работает скрипт! neurostep Общие вопросы Javascript 1 11.04.2008 14:18