Модераторы: Sardar, Aliance

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Скрипт вывода кликовых объявлений, для движков форума 
:(
    Опции темы
SelenIT
Дата 21.12.2007, 12:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


баг форума
****


Профиль
Группа: Завсегдатай
Сообщений: 3996
Регистрация: 17.10.2006
Где: Pale Blue Dot

Репутация: 49
Всего: 401



Никак, но нагрузку, имхо, немного уменьшит...


--------------------
Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму!
PM MAIL   Вверх
Ghirik
Дата 21.12.2007, 19:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 919
Регистрация: 26.3.2007

Репутация: 13
Всего: 20



Код

первый и последний код у меня в ИЕ6 ошибку дали,

так и должно быть? 


Нет, ошибок быть не должно. Я проверял в IE версия 6.0.2900.2180.xpsp_sp2_qfe.070227-2300

Цитата

В функции on насчитал семь идентичных вызовов $("adv") вместо одного. Это шутка? ;)


Дак это на лету было заменено adv. на $("adv").(через поиск/замена  smile ), потому как, FF и Опера, при обновлении страницы, теряли глобальное объявление. В первых постах SelenIT писал об ошибках. Сегодня переделаю.

А что, с бордюром в Опере? Нет прогрессивных мыслей?

Это сообщение отредактировал(а) Ghirik - 21.12.2007, 19:45


--------------------
Отдадим всё клиенту, пускай его машина мучается...

PM MAIL   Вверх
AKS
Дата 21.12.2007, 20:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Участник форума
**


Профиль
Группа: Участник
Сообщений: 725
Регистрация: 20.9.2006

Репутация: 27
Всего: 52



Цитата(Ghirik @  21.12.2007,  19:39 Найти цитируемый пост)
А что, с бордюром в Опере? Нет прогрессивных мыслей?

Да не обращайте Вы такого пристального внимания на результат работы альфа-версии - в остальных ведь все в порядке.

PM MAIL   Вверх
Ghirik
Дата 21.12.2007, 22:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 919
Регистрация: 26.3.2007

Репутация: 13
Всего: 20



Ну вот, теперь всё нормально.... надеюсь...  smile 
Исправил код в первом посте. Пришлось повторно сделать присвоение adv, теперь при обновлении ошибок нет.

AKS, у меня только Опера 9.5b, а что, в других без бордюра работает?

Это сообщение отредактировал(а) Ghirik - 21.12.2007, 22:20


--------------------
Отдадим всё клиенту, пускай его машина мучается...

PM MAIL   Вверх
AKS
Дата 22.12.2007, 09:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Участник форума
**


Профиль
Группа: Участник
Сообщений: 725
Регистрация: 20.9.2006

Репутация: 27
Всего: 52



Цитата(Ghirik @  21.12.2007,  22:17 Найти цитируемый пост)
AKS, у меня только Опера 9.5b, а что, в других без бордюра работает?

К тому, что уже было написано:
Цитата(SelenIT @  20.12.2007,  23:16 Найти цитируемый пост)
Проверил в 9-й опере, глюков отображения не заметил.

могу добавить следующее. Того, что можно наблюдать в версии 9.5 (у меня альфа), я не увидел в 9.00, 9.10, 9.22, 9.25 версиях (все под Windows XP, ранние не упоминаю, т.к. в них нет opacity).
Так что пишите разработчикам в "книгу жалоб и предложений", чтобы обратили внимание на эту особенность (мало ли - вдруг они не знают ;) ).
А пока что можно сосредоточиться на проблеме с расчетом высоты документа (для Opera), а также добавить обработку события resize окна браузера (чтобы при уменьшении окна плавающий блок уменьшался до новых размеров документа, а при открытии в маленьком окне и "развертке" окна на весь экран блок увеличивался). 


PM MAIL   Вверх
Ghirik
Дата 22.12.2007, 10:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 919
Регистрация: 26.3.2007

Репутация: 13
Всего: 20



AKS, если не трудно, дайте ссылку на книгу жалоб Оперы, я что то не смог найти, лазил, лазил по сайту, английский не бум бум. smile Ну а проблему, думаю, описать с тремя переводчиками смогу. 

Цитата

А пока что можно сосредоточиться на проблеме с расчетом высоты документа (для Opera), 


У меня, почему то сложилось мнение, что не стоит поддерживать старые релизы Оперы, Опера 9.5 стала понимать клиентскую зону документа через document.documentElement.clientHeight. И вроде бы они начали масштабную компанию по продвижению своего продукта. Есть надежда, что Оперу полюбит большее число ползователей, я буду этому очень рад, потому как мне лично очень симпатичен этот браузер, главным образом за правильное использование ресурсов компьютера. Да, и в новой версии у них поддерживается CSS3. Короче, нравится..... smile 

Цитата

чтобы при уменьшении окна плавающий блок уменьшался до новых размеров документа, а при открытии в маленьком окне и "развертке" окна на весь экран блок увеличивался


А нужно ли? Я этот скрипт писал исключительно для вывода кликовых объявлений, они выводятся во фреймах, разумеется без доступа, и соответственно размер фреймов изменить не получится.
Другое дело, развить этот скрипт до полной универсальности, ввести переключатели на способы появления на экране, возможность плавания за положением в клиентской зоне, переключение на горизонтальный вывод или чередование и т.д.... Короче пока не уверен по поводу слежения за размерами.

Но на счет Оперы 9 (клиентской зоны) подумаю, сейчас качну, и подумаю... Всё же, сейчас многие под ней ходят. Хотя, как неприятно поддерживать вчерашний день...  smile 




--------------------
Отдадим всё клиенту, пускай его машина мучается...

PM MAIL   Вверх
AKS
Дата 22.12.2007, 11:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Участник форума
**


Профиль
Группа: Участник
Сообщений: 725
Регистрация: 20.9.2006

Репутация: 27
Всего: 52



Цитата(Ghirik @  22.12.2007,  10:58 Найти цитируемый пост)
AKS, если не трудно, дайте ссылку на книгу жалоб Оперы...

Bug Report Wizard

Цитата(Ghirik @  22.12.2007,  10:58 Найти цитируемый пост)
Короче пока не уверен по поводу слежения за размерами.

Так ведь это Вам решать. Я написал "можно", а не "нужно". ;)

PM MAIL   Вверх
Ghirik
Дата 22.12.2007, 13:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 919
Регистрация: 26.3.2007

Репутация: 13
Всего: 20



AKS, спасибо за ссылку.
Стал готовить подачу бага, и как всегда, оказалось баг не в бордюре, а где то в другом месте, хотя проявляется именно через бордюр. Всем всегда говорю, чтобы вычленяли из страницы проблемный кусок и выкладывали. Что мол во время вычленения можно найти причину. Так и есть, нашел... Но не баг, а отсутствие такового:

Код

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> 
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Title block</title>
<script type="text/javascript">
<!--
var advStep = 2;
var advSpeedAppearance = 30;
var advC = 0;
var adv;

function advProbe() {
    alert(document.getElementById("adv").getAttribute("border"))
}

function advClick(){
    adv = document.getElementById("adv");
    adv.getAttribute("border") == 0 ? adv.setAttribute("border", 1) : adv.setAttribute("border", 0)
    adv.filters ? adv.style.filter = "alpha(opacity = 0)" : adv.style.opacity = 0;
    advC = 0;
    if (window.tm1) window.clearInterval(window.tm1);
    window.tm1 = setInterval("advOpacity()", advSpeedAppearance);
}

function advOpacity() {
    adv = document.getElementById("adv");
    advC += advStep;
    adv.filters ? adv.filters.alpha.opacity = advC : adv.style.opacity = advC/100;
    if (advC >= 100) {
        adv.filters ? adv.filters.alpha.opacity = 100 : adv.style.opacity = 1;
        window.clearInterval(window.tm1);
    }
}
//-->
</script>
</head>
<body>

<table id="adv" border="1" width="100%" bgcolor="#00FF00" onclick="advClick()">
    <tr>
        <td>&nbsp;</td>
    </tr>
</table>

</body>
</html>


Покликайте по таблице, хоть с бордюром, хоть без него, всё работает... smile 
Помогите, у меня голова кругом  smile , не знаю где и искать причину.



Это сообщение отредактировал(а) Ghirik - 22.12.2007, 13:18


--------------------
Отдадим всё клиенту, пускай его машина мучается...

PM MAIL   Вверх
AKS
Дата 22.12.2007, 14:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Участник форума
**


Профиль
Группа: Участник
Сообщений: 725
Регистрация: 20.9.2006

Репутация: 27
Всего: 52



Цитата(Ghirik @  22.12.2007,  13:17 Найти цитируемый пост)
Помогите, у меня голова кругом  smile , не знаю где и искать причину.

Берегите голову! ;)
В head вставьте вот это:
Код

<style type='text/css'>
/*<![CDATA[*/

html {
    height:200%;
}

table {
    margin-top:50%;
}
/*]]>*/
</style>

Все будет ОК, если не "прокручивать" страничку. Если же "прокрутить" - баг предстанет во всей своей красе...


PM MAIL   Вверх
Ghirik
Дата 22.12.2007, 15:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 919
Регистрация: 26.3.2007

Репутация: 13
Всего: 20



Ок, спасибо, отсылаю баг "оперистам"...

Отправил.

Это сообщение отредактировал(а) Ghirik - 22.12.2007, 15:33


--------------------
Отдадим всё клиенту, пускай его машина мучается...

PM MAIL   Вверх
Ghirik
Дата 22.12.2007, 17:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 919
Регистрация: 26.3.2007

Репутация: 13
Всего: 20



Сделал поддержку Оперы, но в 9.5 получается только с бордюром. Выложил в первом посте.


--------------------
Отдадим всё клиенту, пускай его машина мучается...

PM MAIL   Вверх
Ghirik
Дата 22.12.2007, 21:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 919
Регистрация: 26.3.2007

Репутация: 13
Всего: 20



Цитата

Ну мало ли, может, в окончательном варианте в ф-цию $ будет встроено кеширование... 


Научите, как такое делается... В этом скрипте, может и не нужно, но у меня другие есть smile 


--------------------
Отдадим всё клиенту, пускай его машина мучается...

PM MAIL   Вверх
AKS
Дата 23.12.2007, 19:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Участник форума
**


Профиль
Группа: Участник
Сообщений: 725
Регистрация: 20.9.2006

Репутация: 27
Всего: 52



Цитата(Ghirik @  22.12.2007,  21:59 Найти цитируемый пост)
Научите, как такое делается...

Видимо подразумевалось следующее:
Код

function getElemById(aId) {
    var elem = (getElemById.cache || (getElemById.cache = {}))[aId];
    return (elem || (getElemById.cache[aId] =
                        document.getElementById(aId)));
};

PM MAIL   Вверх
SelenIT
Дата 23.12.2007, 19:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


баг форума
****


Профиль
Группа: Завсегдатай
Сообщений: 3996
Регистрация: 17.10.2006
Где: Pale Blue Dot

Репутация: 49
Всего: 401



AKS, а разве нельзя кешировать каждый объект в новое свойство самой ф-ции? Чем это хуже?
Код

function $(id) {
    return $[id] || ($[id] = document.getElementById(id));
}



--------------------
Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму!
PM MAIL   Вверх
AKS
Дата 23.12.2007, 19:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Участник форума
**


Профиль
Группа: Участник
Сообщений: 725
Регистрация: 20.9.2006

Репутация: 27
Всего: 52



Цитата(SelenIT @  23.12.2007,  19:29 Найти цитируемый пост)
...а разве нельзя кешировать каждый объект в новое свойство самой ф-ции? Чем это хуже?

Что хуже, а что лучше я не знаю. 
Могу только предположить, что если попадется какой-нибудь элемент с "забавным" идентификатором, вроде такого:
Код

<div id='length'></div>

, то ваша $ вернет не то, что Вы ожидаете...
PM MAIL   Вверх
Страницы: (3) Все 1 [2] 3 
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0962 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.