Да, просто замени весь шаблон на этот:
|

18.09.2008, 22:36
|
|
Новичок на форуме
|
|
Регистрация: 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);
?> |
Помогите пожалуйста. Видел такие же галереи на других сайтах, но у них в опере этот скрипт работает. Значит смогли как то сделать.
Заранее спасибо
|
|

18.09.2008, 23:30
|
|
|
|
Регистрация: 21.02.2008
Сообщений: 1,250
|
|
|
Что именно не работает?
|
|

18.09.2008, 23:41
|
|
Новичок на форуме
|
|
Регистрация: 18.09.2008
Сообщений: 3
|
|
ой, простите, самого главного не написал )))
при клике на картинку в соответствующей textarea должен появляться код юзербара, уже готовый для вставки в подпись
в Opera при клике ничего не происходит
http://www.nngl.ru/viewpage.php?page_id=16
вот можете сами проверить
|
|

19.09.2008, 16: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 в 16:22.
|
|

03.03.2009, 22:24
|
|
Аспирант
|
|
Регистрация: 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, и в ней страница работает. Может, просто блокировка скриптов у вас включена?
|
|

04.03.2009, 10:49
|
|
-
|
|
Регистрация: 16.07.2008
Сообщений: 207
|
|
|
12345c,
ужас. это как раз у Вас неправильно.
1) name и id могут быть одинаковыми.
2) обращение к полю ввода textarea ТОЛЬКО через value
|
|

04.03.2009, 10:57
|
|
Новичок на форуме
|
|
Регистрация: 18.09.2008
Сообщений: 3
|
|
|
всем спасибо, давно уже решил проблему
если кому интересен рабочий код - пишите, выложу
|
|

04.03.2009, 12:10
|
|
Аспирант
|
|
Регистрация: 01.03.2009
Сообщений: 33
|
|
|
twolf, могут, но когда-то в FF были проблемы с одинаковыми именами, поэтому пишу о догадках, что в 9.5 могло не работать. А innerHTML в textarea работает, проверьте. Хотя исторически, конечно, value.
|
|

06.03.2009, 11:34
|
|
-
|
|
Регистрация: 16.07.2008
Сообщений: 207
|
|
12345c,
1) что ж за скрипт должен быть такой, чтоб были из-за этого проблемы
2) мне вот интересно, вы сами то пробовали? Исторически - только у микрософт. У них innerHTML появился. Для texеarea innerHTML работает только в ослах.
|
|

06.03.2009, 14:50
|
|
Аспирант
|
|
Регистрация: 01.03.2009
Сообщений: 33
|
|
|
2) да,
1) были проблемы с обращением к объекту у FF 1.xx каких-то.
|
|
|
|