Вы не зашли.
Главная » JavaScript » Вопрос-Ответ по JavaScript
#1. Nu3oN Off (11)
Moderator
2011.03.05 03:03
Думаю пора уже тему закреплять, что бы не было кучи тем.
Я буду лучше голоден, но между креслом и рулем и на дороге.
#2. Nu3oN Off (11)
Moderator
2011.03.05 03:03
Есть у меня скрипт вертикального меню! Все нравится, вот только есть проблема с cookies
Если юзер зашел первый раз на сайт, то у него все пункты меню открываются, а мне надо что бы они были изначально закрыты, а потом когда выберешь пункт, тогда он раскрывался!
Добавлено спустя   5 минут  54 секунды:
З.ы я там его чуть чуть "подредачил", так что возможны косяки!
прошу при нахождении таковых сообщить, а лучше показать как надо  smile
Вложения
sdmenu.txt 4kb [загрузок: 600]
Я буду лучше голоден, но между креслом и рулем и на дороге.
#3. TLENS Off (14)
Moderator
2011.03.05 10:10
Ничего не понял.
А тему правда пора крепить
Вот пример работы с куками
Код:
// чтение cookie
function getCookie(cookieName) {
if (!cookieName)
return false;
var cookies = document.cookie.split('; ');
for (var i = 0; i < cookies.length; i++) {
var singleCookie = cookies[i].split('=');
if (singleCookie[0] == cookieName)
return singleCookie[1];
}
return false;
}
// установка cookie
function setCookie(cookieName, cookieValue, cookieExpire) {
if (!cookieName || !cookieValue)
return false;
var date = (cookieExpire ? new Date(cookieExpire) : new Date());
document.cookie = cookieName + '=' + cookieValue +
'; expires=' + date.toGMTString() +
'; path=/';
return true;
}
// удаление cookie
function deleteCookie(cookieName) {
if (!cookieName)
return false;
var date = new Date('01/01/1970');
document.cookie = cookieName + '=""' +
'; expires=' + date.toGMTString() +
'; path=/';
return true;
}
Отредактировано TLENS (2011.03.05 10:10)
#4. TLENS Off (14)
Moderator
2011.03.07 22:10
Как вставить в eval строку с обектом?
Код:
function = test;
str = function+'(\'Сюда надо вставить объект\')';
eval(str);
//В общем надо выполнит функцию имя которой мне в среде не известно, но при этом надо вставить в нее объект
Нашол другой способ, создал дополнительную функцию.
Но вижу надо третий способ икать так как всретился с дальнейшей проблемой как top.location ее ведь никак нельзя обойти?
Отредактировано TLENS (2011.03.08 20:08)
#5. Nu3oN Off (11)
Moderator
2011.03.08 21:09
мой вопрос решен... Можно не отвечать
Я буду лучше голоден, но между креслом и рулем и на дороге.
#6. TLENS Off (14)
Moderator
2011.03.08 23:11
Nu3oN Я смотрел твой код. Но я ведь думаю не лучше тебя знаю js, и ничего там такого не увидел.
К стати там вот такой вариант как вызов свойства в цыклах при каждой интеграции length.
Я вот толком не отойду от php так как здесь свойства и объекты одновременное выполнение всего скрипта т.е. сложно переходить с php на js.
Вот у меня встречный к тебе вопрос. На счет свойства.
Есть разница между
for(;i<str.length;)
и
var l = str.length; for(;i<l;)
На сколько мне известно то свойство это не функция а как переменная которая хранит в себе инфу об обекте и меняется при изминении свойств и разницы между первым и вторым цыклом нету.
А вдруг это не так. И это та же ошибка что и в php c for(;$i<count();)



Кстати по теме:
Подскажите как запретить всплывающие окна такие как alert promt и confirm в открытом окне.
Т.е. Надо открыть окошко и через 10 сек закрыть и чтобы ничего не помешало.
Вот сделал такой вариант:
Код:
function myWindowOpen(u){
var windowOpen = window.open(u);
setTimeout(function(){windowOpen.close();},2000);
}
Но если в windowOpen встречается алерт то оно не закрывается в нужное время.
Отредактировано TLENS (2011.03.08 23:11)
#7. TLENS Off (14)
Moderator
2011.03.09 23:11
Как поменять адрес window.location не перезагружая страницу?
Ну как вконтакте в поиске меняется адрес не перезагружая странички.
#8. Gemorroj Off (108)
Administrator
2011.03.10 01:01
подгрузка данных через ajax в адресной строке там меняется только якорь.
#9. TLENS Off (14)
Moderator
2011.03.10 01:01
Как якорь? а воще возможно такое чтобы весь href менять?
Пробовал и document.location и просто location и window.location и методы .href .pathname .search
Все оно перезагружает страницу.
Как его сменить но не дать браузеру загружать его?
Добавлено спустя   8 минут  59 секунд:
Да нет ну там вот только что пересмотрел меняется search
Вот посмотри в поиске аудио.
Вводишь что искать он дает аjax-ом и через 1-2 секунды меняется location.search
Отредактировано TLENS (2011.03.10 01:01)
#10. TLENS Off (14)
Moderator
2011.03.10 01:01
А кстати хоть видео плеер нормальный вкинули видел?
#11. Gemorroj Off (108)
Administrator
2011.03.10 14:02
ну проверил, меняется только якорь (то, что после решетки).
TLENS написал:
методы .href .pathname .search
это не методы! это свойства!
#12. TLENS Off (14)
Moderator
2011.03.10 21:09
Вот ща видео запищу
#13. TLENS Off (14)
Moderator
2011.03.10 22:10
Вот видео.
Даже если это не так есть возможность менять search не перегружая страницы?
Вложения
Project012.zip 250kb [загрузок: 316]
Отредактировано TLENS (2011.03.11 00:12)
#14. TLENS Off (14)
Moderator
2011.03.11 19:07
Гемморой подскажи плис как такое сделать!
Якоря там воще нет только search Мне очень надо
Отредактировано TLENS (2011.03.11 19:07)
#15. Gemorroj Off (108)
Administrator
2011.03.11 19:07
хз, я не сталкивался. поищи на http://javascript.ru
#16. TLENS Off (14)
Moderator
2011.03.11 20:08
Щас еще попробую пошарится по скриптам вконтакта
#17. TLENS Off (14)
Moderator
2011.03.20 16:04
А можно ли как нибудь вычислить положение блока от указанного т.е. от левого или правого края?
Просто есть линия и надо вычислить при клике по какому пикселю кликнул это для плеера. Просто сам ползунок то на draggable но вот хочу добавить клик по процесс бару Вот пример что получилось но эт только тестирую еще ничего не оптимизировал
Добавлено спустя   1 минуту  10 секунд:
А ссылка же http://vsemp3.com
#18. Gemorroj Off (108)
Administrator
2011.03.21 13:01
цветовая гамма, конечно, кошмарит)
offsetParent
#19. tipsun Off (19)
Moderator
2011.03.27 21:09
Подскажите как записать ответ в <a id="eng" href="">СУДА</a>?
Я воошпе не знаю JS. Так что описываю каждую букву, не стесняйтесь.
На javascript.ru не нашел этого.

Код:
var TrBase = {
"yi" : "й",
"c" : "ц",
"u" : "у",
"k" : "к",
"e" : "е",
"n" : "н",
"g" : "г",
"sh" : "ш",
"sch" : "щ",
"z" : "з",
"h" : "х",
"wx" : "ъ",
"f" : "ф",
"yx" : "ы",
"v" : "в",
"a" : "а",
"p" : "п",
"r" : "р",
"o" : "о",
"l" : "л",
"d" : "д",
"zh" : "ж",
"ye" : "э",
"ya" : "я",
"ch" : "ч",
"s" : "с",
"m" : "м",
"i" : "и",
"t" : "т",
"wy" : "ь",
"b" : "б",
"yu" : "ю",
"_" : " "
}; //ну тут и дураку, мне, понятно)) 'ya'=>'я'
 
function strtr(str,list) //тут типа функция
{
for( var c in list ) //$c в массиве что-ли...
{
str = String(str).replace( new RegExp( c ,"g"), list[c]);
//в переменной str заменить ...
}
return str;
} //в интернете нашел
 
window.onload = function() //типа при загрузке что-ли
{
var str = document.getElementById('eng'); //замести текст, который вытащили с элемента с id="eng" в $str
str.innerHTML = strtr(str, TrBase);
//return strtr(str, TrBase);
} //нафантазировал Ы))
Отредактировано tipsun (2011.03.27 22:10)
#20. Gemorroj Off (108)
Administrator
2011.03.27 22:10
не пиши на чистом JavaScript такого понапишешь, что потом фик разберешься. изучи jQuery (там все просто) и используй его.
#21. tipsun Off (19)
Moderator
2011.03.27 22:10
СпС.
#22. Nu3oN Off (11)
Moderator
2011.05.15 14:02
решил заюзать от нефиг делать js,  уже как целый день юзаю, пока что все получается, ничего сложного пока не вижу)))
но столкнулся с таким вопросом, и х.з как спросить это у гугла))
в общем есть у меня такой "скрипт"


        function startFor()
        {
            var getForBlock= document.getElementById('forBlockBody');

            if (getForBlock.style.display == 'none') {
                getForBlock.style.display = 'block';
            } else {
                getForBlock.style.display = 'none';
            }

            for (i=0; i<=10; i++) {
                getForBlock.innerHTML = 'Выполнилось ' + i;
            }
        }
пользуюсь им дальше так:

<a href="#" onclick="startFor()"> Начало цикла </a>
<p id="forBlockBody" style="display:none"></p>

но innerHTML просто заменяет значение внутри тега <p>
а мне необходимо сделать что то типа
<p>Выполнилось 0</p>
<p>Выполнилось 1</p>
<p>Выполнилось 2</p>
и так далее. В общем надо вывести последовательно это все!
как это осуществить?
Я буду лучше голоден, но между креслом и рулем и на дороге.
#23. TLENS Off (14)
Moderator
2011.05.15 14:02
getForBlock.innerHTML += i;
Добавлено спустя   2 минуты  10 секунд:
Или getForBlock.innerHTML = i + ') Выполнилось ' ;
Отредактировано TLENS (2011.05.15 14:02)
#24. Nu3oN Off (11)
Moderator
2011.05.15 14:02
TLENS написал:
getForBlock.innerHTML += i;
Добавлено спустя   2 минуты  10 секунд:
Или getForBlock.innerHTML = i + ') Выполнилось ' ;
То что доктор прописал! спасибо)))
Я буду лучше голоден, но между креслом и рулем и на дороге.
#25. TLENS Off (14)
Moderator
2011.05.15 14:02
Бля я во втором примере затупил хотел написать getForBlock.innerHTML = i + ') Выполнилось ' +getForBlock.innerHTML;
#26. Nu3oN Off (11)
Moderator
2011.05.15 15:03
и еще вопрос, я поправил свою функцию, и теперь новая проблема возникла!
в общем

Код:
function startFor()
{
var getForBlock = document.getElementById('forBlockBody');
 
if (getForBlock.style.display != 'block') {
getForBlock.style.display = 'block';
 
for (i=0; i<=5; i++) {
getForBlock.innerHTML += 'Выполнилось ' + i + '<br />';
}
} else {
getForBlock.style.display = 'none';
}
}
каждый раз как я закрываю и по новой открываю, добавляется еще 10 строк, типа
Выполнилось 0
Выполнилось 1
Выполнилось 2
Выполнилось 3
Выполнилось 4
Выполнилось 5
Выполнилось 0
Выполнилось 1
Выполнилось 2
Выполнилось 3
Выполнилось 4
Выполнилось 5
как сделать так, что бы это все выполнилось только один раз, а потом выдавался например статический результат?
Я буду лучше голоден, но между креслом и рулем и на дороге.
#27. TLENS Off (14)
Moderator
2011.05.15 15:03
Попробуй не в дом писать а например в масив. А потом уже в дом
Эсли бы я еще толком понял чего ты хочешь
Отредактировано TLENS (2011.05.15 15:03)
#28. Nu3oN Off (11)
Moderator
2011.05.15 15:03
ну вставь в страницу какую неть мою функцию и это:
<a href="#" onclick="startFor()"> Начало цикла </a>
<div id="forBlockBody" style="display:none"></div>
и посмотри что получается
Добавлено спустя   4 минуты  20 секунд:
даже лучше так! как то наглядней

Код:
function startFor()
{
var getForBlock = document.getElementById('forBlockBody');
var getLnkBlock = document.getElementById('lnkBlockBody');
 
if (getForBlock.style.display != 'block') {
 
getForBlock.style.display = 'block';
getLnkBlock.innerHTML = 'Скрыть цикл';
 
for (i=0; i<=5; i++) {
getForBlock.innerHTML += 'Выполнилось ' + i + '<br />';
}
 
} else {
 
getForBlock.style.display = 'none';
getLnkBlock.innerHTML = 'Показать цикл';
 
}
 
}
<a id="lnkBlockBody" href="#" onclick="startFor()">Показать цикл</a>
<div id="forBlockBody" style="display:none"></div>
Я буду лучше голоден, но между креслом и рулем и на дороге.
#29. TLENS Off (14)
Moderator
2011.05.15 15:03
Щас
#30. Nu3oN Off (11)
Moderator
2011.05.15 15:03
должно всегда отображаться так:
Выполнилось 0
Выполнилось 1
Выполнилось 2
Выполнилось 3
Выполнилось 4
Выполнилось 5
хоть при закрытии, хоть при раскрытии
Я буду лучше голоден, но между креслом и рулем и на дороге.
#31. TLENS Off (14)
Moderator
2011.05.15 15:03
Nu3oN написал:
ну вставь в страницу какую неть мою функцию и это:
<a href="#" onclick="startFor()"> Начало цикла </a>
<div id="forBlockBody" style="display:none"></div>
и посмотри что получается
Добавлено спустя   4 минуты  20 секунд:
даже лучше так! как то наглядней

Код:
function startFor()
{
var getForBlock = document.getElementById('forBlockBody');
getForBlock.innerHTML = '';
var getLnkBlock = document.getElementById('lnkBlockBody');
 
if (getForBlock.style.display != 'block') {
 
getForBlock.style.display = 'block';
getLnkBlock.innerHTML = 'Скрыть цикл';
 
for (i=0; i<=5; i++) {
getForBlock.innerHTML += 'Выполнилось ' + i + '<br />';
}
 
} else {
 
getForBlock.style.display = 'none';
getLnkBlock.innerHTML = 'Показать цикл';
 
}
 
}
<a id="lnkBlockBody" href="#" onclick="startFor()">Показать цикл</a>
<div id="forBlockBody" style="display:none"></div>
Отредактировано TLENS (2011.05.15 15:03)
#32. Nu3oN Off (11)
Moderator
2011.05.15 15:03
О блин))) че то я даже не додумался! спасибо)))
Я буду лучше голоден, но между креслом и рулем и на дороге.
#33. Nu3oN Off (11)
Moderator
2011.05.15 15:03
есть ли в js аналог пэхэпэшной var_dump() или print_r() ?
Я буду лучше голоден, но между креслом и рулем и на дороге.
#34. iceman12 Off (1)
Участник
2011.05.15 16:04
function print_r(arr, level) { var print_red_text = ""; if(!level) level = 0; var level_padding = ""; for(var j=0; j<level+1; j++) level_padding += " "; if(typeof(arr) == 'object') { for(var item in arr) { var value = arr[item]; if(typeof(value) == 'object') { print_red_text += level_padding + "'" + item + "' :\n"; print_red_text += print_r(value,level+1); } else print_red_text += level_padding + "'" + item + "' => \"" + value + "\"\n"; } } else print_red_text = "===>"+arr+"<===("+typeof(arr)+")"; return print_red_text; }
Отредактировано iceman12 (2011.05.15 16:04)
#35. TLENS Off (14)
Moderator
2011.05.15 16:04
Вот проще мож тебе пригодится
Код:
for (var key in some_array) {
var val = some_array [key];
alert (key+' = '+val);
}
Отредактировано TLENS (2011.05.15 16:04)
#36. Nu3oN Off (11)
Moderator
2011.05.15 22:10
скажите, насколько это гомнокод? гг
P/s ногами не бейте, я только сегодня начал юзать яву)))

Код:
function statMenu(type)
{
 
var menuOne = document.getElementById('staticMenuOne');
var menuTwo = document.getElementById('staticMenuTwo');
var menuLnk = document.getElementById('statLinks');
 
if (type != 1) {
 
menuOne.style.display = 'block';
menuTwo.style.display = 'none';
menuLnk.innerHTML = 'Первый блок / <a id="statTwoLnk" href="#" onclick="statMenu(1)"> Второй блок </a>';
} else {
 
menuOne.style.display = 'none';
menuTwo.style.display = 'block';
menuLnk.innerHTML = '<a id="statOneLnk" href="#" onclick="statMenu(0)"> Первый блок </a> / Второй блок';
 
}
 
}
 
 
 
<div id="statLinks" style="background-color: #ccc;">
Первый блок / <a href="#" onclick="statMenu(1)"> Второй блок </a>
</div>
<div id="staticMenuOne" style="background-color: #eee;">
111111111111111111111111111111111111111111111111<br />
111111111111111111111111111111111111111111111111<br />
111111111111111111111111111111111111111111111111
</div>
<div id="staticMenuTwo" style="display:none; background-color: #eee;">
222222222222222222222222222222222222222222222222<br />
222222222222222222222222222222222222222222222222<br />
222222222222222222222222222222222222222222222222
</div>
Я буду лучше голоден, но между креслом и рулем и на дороге.
#37. Gemorroj Off (108)
Administrator
2011.05.16 10:10
Nu3oN, для изучения пойдет, в реальных же проектах, сразу же подключай jQuery. Весть JS твой код в нем делается всего 1 функцией toggle wink
#38. TLENS Off (14)
Moderator
2011.05.16 16:04
да я тож хотел вчера предложить jquery уже написал сообщения а потом глянул еще на код так подумал раз хочет обычным способом вродь нормно есть пару упрощений. например if (type != 1) {
можно же переключатель просто делать if (type) {
А еще в js желательно экономить на именах переменных и функций темболие не в глобальных
function statMenu(a) {
if (!a) {
Правда я и сам js знаю пару месяцев но ето единственный язык который учил а не на примерах раздуплял
Отредактировано TLENS (2011.05.16 16:04)
#39. TLENS Off (14)
Moderator
2011.06.08 09:09
что означает экранированый ноль в строке? "\0"
Отредактировано TLENS (2011.06.08 10:10)
#40. TLENS Off (14)
Moderator
2011.06.08 10:10
он переводит строку или что он вставляет? ну просто пустой символ стоит а какой именно?
Отредактировано TLENS (2011.06.08 10:10)
#41. Gemorroj Off (108)
Administrator
2011.06.08 11:11
это нулевой байт
#42. TLENS Off (14)
Moderator
2011.06.08 11:11
А уже раздупли только что, просто заменял на null а оно не совпадало.
потом вспомнил что я не в php среде
сошлось с сошлось с String.fromCharCode(0)
Добавлено спустя   2 минуты  8 секунд:
строка по странному формируется
разделителем является ноль
Код:
var rq="k=image/jpeg"+chr(0)+"o=285\0"+
"u=/obml/" + this.part+"/"+ this.url+"\0"+
"q=ru\0"+
"v="+this.OMVersionString_v3+"\0"+
"i="+this.userAgent+"\0"+
"s=-1n=1A=CLDC-1.1\0B=midp-2.0\0"+
"C=j2me"+
Отредактировано TLENS (2011.06.08 11:11)
#43. TLENS Off (14)
Moderator
2011.06.08 16:04
Паша я тут не пойму каким методом передается переменная d в коде
Код:
var d="k=image/jpeg\0"+
"o=285\0"+
"u=/obml/0/http://podsmotri.org/index.php\0"+
"q=ru\0"+
"v=Opera Mini/3.0.4409/hifi/woodland/ru\0"+
"i=Opera Mini\0"+
"s=-1n=1A=CLDC-1.1\0B=midp-2.0\0"+
"C=j2me"+
"D=ru"+
"E=ISO8859_1"+
"d=w:500;h:600;c:65536;m:16777216;i:1;q:1;f:0;j:0;l:256\0";
//if(this.auth_prefix) rq+=("h="+this.auth_prefix+"\0");
//if(this.auth_code) rq+=("c="+this.auth_code+"\0");
//if(this.referer) rq+=("f="+this.referer+"\0");
d+="g=1"+
"b=ompd"+
"y=ru"+
"t=-1"+
"w=1;1\0"+
//"w=1;" + (this.first_in_chain?"0":"1") + "\0"+
//"w=1;0\0"+
"e=none\0";
var x = new XMLHttpRequest();
x.open("POST", "http:91.203.96.30:8080/", 1);
x.setRequestHeader("Content-Type","application/xml");
x.overrideMimeType('text/plain; charset=x-user-defined');
var goo=function() {
if (x.readyState == 3)
console.log('ok');
else if (x.readyState ==4) {
if(x.status=='200' || x.status=='0'){
console.log(x.responseText);
//src.onready(x.responseText);
}
else
src.onerror("OM.Source.XHR: HTTP status="+x.status)
};
};
x.onreadystatechange = goo;
x.send(d);
console.log(x);
console.log('ok');
Подскажи плис
Отредактировано TLENS (2011.06.08 16:04)
#44. Gemorroj Off (108)
Administrator
2011.06.08 16:04
написано же:
Код:
x.open("POST"...
#45. TLENS Off (14)
Moderator
2011.06.08 16:04
Ну смотри
Код:
<html>
<head>
<title>test</title>
<script>
var d = 'a=1\0b=2';
var x = new XMLHttpRequest();
x.open("POST", "./file1.php", 1);
x.setRequestHeader("Content-Type","application/xml");
x.overrideMimeType('text/plain; charset=x-user-defined');
var goo=function() {
console.log(x.readyState);
console.log(x.responseText);
};
//console.log(x);
x.onreadystatechange = goo;
x.send(d);
 
</script>
</head>
<body>
</body>
</html>
и файл file1
Код:
<?php
var_dump($_POST);
Результат пустой массив
Добавлено спустя   5 минут  40 секунд:
Почему оно не работает?
#46. TLENS Off (14)
Moderator
2011.06.08 17:05
Или я тут что то напутал?
#47. TLENS Off (14)
Moderator
2011.06.08 18:06
вопрос решен
#48. TLENS Off (14)
Moderator
2011.06.13 00:12
Как переправить пользователя с постом?
Добавлено спустя   4 минуты  41 секунду:
А блин нашел document.myform.submit()
#49. TLENS Off (14)
Moderator
2011.06.24 18:06
Паша обьясни плис.
Все проблемы были в том что я немог обратится к свойству текущего обьекта с описания метода.
Показываю на коде а то сам ничего не понял что написал.
Код:
blink = new function () {
this.works = 0;
this.test = function () {
console.log(this.works); // undefined
console.log(blink.works); // 0
};
};
Или я чет запортачил при тесте?
Почему так?
#50. Gemorroj Off (108)
Administrator
2011.06.24 18:06
ну ты же  console.log(this.works); вызываешь в контексте новой функции. соответственно, this - это контекст именно этой функции, а не blink.
#51. TLENS Off (14)
Moderator
2011.06.24 19:07
Так погоди. Не обьект же внутри а метод.
И в описании методов всегда использовал this/
Вот вставил.
в метод flip console.log(blink.works +" - "+ this.works);
в результате
1 - 1
1 - undefined
1 - undefined
1 - undefined
Первый запуск метода с метода старт остальные с setTimeout(blink.flip, 100);
в таймаут вставлял не через this/
Я что то запутался.
#52. Gemorroj Off (108)
Administrator
2011.06.24 19:07
пох, юзай blink.works
#53. TLENS Off (14)
Moderator
2011.06.24 19:07
Ок. Терь то все понятно от куда все ошибки.
Слушай. а вообще для дальнейшего почему так ведь не правильно все это.
Вот например если конструктор писать, как быть ведь не известно будет с каким обьектом работать.
И до этого как мы начали его модить работало все.
А какая разница при обьявлении метода через прототип?
Вообще один вопрос что на него повлияло
#54. Gemorroj Off (108)
Administrator
2011.06.25 18:06
там запутан код и проблемы с областью видимости, я не могу сказать сходу что повлияло.
#55. TLENS Off (14)
Moderator
2011.06.26 04:04
Gemorroj написал:
там запутан код и проблемы с областью видимости, я не могу сказать сходу что повлияло.
Ну понимаю в php там регулирует private public и protected ах да еще и var.
Но не в доступах дело ведь я обращаюсь с метода а не с публика.
Только тут все запутано с публика работает с привата нет.
Добавлено спустя   1 минуту  28 секунд:
А мож и в доступах то над посидеть над ним просто я с опп не очень дружу так покаместь знакомые.
Добавлено спустя   3 минуты  19 секунд:
Кстати обрати внимание:
TLENS написал:
Вот вставил.
в метод flip console.log(blink.works +" - "+ this.works);
в результате
1 - 1
1 - undefined
1 - undefined
1 - undefined
Первый запуск метода с метода старт остальные с setTimeout(blink.flip, 100);
Вот зацепка.
#56. Gemorroj Off (108)
Administrator
2011.06.26 08:08
в js область видимости определяется через var
#57. TLENS Off (14)
Moderator
2011.06.26 09:09
А понял так же как и в обычных функциях
Отредактировано TLENS (2011.06.26 09:09)
#58. tipsun Off (19)
Moderator
2011.08.16 16:04
Подскажите пожалуйста: Как сделать чтоб мое говноРасширение для Chrome искала тег не в самом себе, а на странице сайтов?

Код:
//jQ
 
$('textarea').val('Hello world!');
Отредактировано tipsun (2011.08.16 16:04)
#59. TLENS Off (14)
Moderator
2011.08.16 16:04
в манифесте надо прописать   
content_scripts": [ {
      "js": [ "script.js" ],
      "matches": [ "http://wapinet.ru/*", "https://wapinet.ru/*" ]
}]
он будет инклюдится во все страницы на вапнет.
А дальше работаем с портами чтобы общались.
Но я с ними сам толком не понял как работать пару раз пробывал чет забил
Отредактировано TLENS (2011.08.16 16:04)
#60. tipsun Off (19)
Moderator
2011.08.16 16:04
А если я сделаю http://* на всех работать будет?
- - - -
Точнее как бы должно во все страницы инклудиться...
Отредактировано tipsun (2011.08.16 16:04)
#61. TLENS Off (14)
Moderator
2011.08.16 16:04
Да кстати метот text() или html() c тегом textarea не работает. Там другой вариант я уже не помню в гугле нарыл.
Да конечно будет. http://*/* и https://*/*
Добавлено спустя   1 минуту  59 секунд:
Там есть еще возможность работать с окнами но я еще их не раздуплял
#62. tipsun Off (19)
Moderator
2011.08.16 16:04
Я не разбираюсь, просто пришла идея сделать (для знающих сделать это 5 сек.) расширение, потом покажу(если получится)/расскажу(иначе)
#63. Gemorroj Off (108)
Administrator
2011.08.16 18:06
TLENS написал:
Да кстати метот text() или html() c тегом textarea не работает.
работает, все зависит от того, что требуется сделать.
#64. tipsun Off (19)
Moderator
2011.08.19 06:06
Мда, не судьба что-ли эти смайлы дописать.
Загвостка опять!
Не находит textarea при клике на смайл.
А панель со смайлами встроить получилось.
Я даже подумал может хром эти скрипты только 1 раз выполняет и подумал может еще тогда добавить в разметку <script></script> тоже не помогло sad
----
Код ниже на локальном index.html работает, хоть прямым подключением, хоть через хром расширение.
Код:
var db = 'http://ext.tipsun.h2m.ru/db/';
var ext = '.png';
var count = 190;
var html = '';
var i = 0;
 
function smile(num){$('textarea').val($('textarea').val()+'[img]'+db+num+ext+'[/img]');return;}
 
$(document).ready( function(){
while(i<count){i=i+1;html=html+'<a href="#smile='+i+'" onclick="smile(\''+i+'\');"><img alt="+" src="'+db+i+ext+'" /></a> ';}
html = '<div style="background-color: #000; pading: 3px; margin: 3px 0px;">'+html+'</div>';
$('textarea').before(html);return false;});
Отредактировано tipsun (2011.08.19 06:06)
#65. Gemorroj Off (108)
Administrator
2011.08.19 08:08
я ебал, какого черта все в 1 строку писать? чтобы потом разбираться с этим сложнее было?
Код:
var db = 'http://ext.tipsun.h2m.ru/db/',
ext = '.png',
count = 190,
html = '';
function smile (num) {
$('textarea').get(0).value += ('[img]' + db + num + ext + '[/img]'));
}
$(document).ready(function () {
for (var i = 0; i < count; i++) {
html += '<a href="#smile=' + i + '" onclick="smile(' + i + ');"><img alt="+" src="' + db + i + ext + '" /></a> ';
}
html = '<div style="background-color: #000; pading: 3px; margin: 3px 0px;">' + html + '</div>';
$('textarea').before(html);
});
textarea элементов на странице может быть много, это не ID, который уникален, поэтому $('textarea') вернет массив элементов - это может быть причиной проблем. лучше, нужные тебе элементы помечай через id и работай по id.
#66. tipsun Off (19)
Moderator
2011.08.19 15:03
Спс.
Но и так и сяк не работает.
У тебя там в 7 строчке скобка в конце лишняя.
Отредактировано tipsun (2011.08.19 15:03)
#67. TLENS Off (14)
Moderator
2011.08.19 15:03
Кстати совет тебе работай с консолями это величайший помощник.
Розтавляй логи по скрипту и можно полностью проследить ход выполнения.
console.log(Можно даже вставить обьект для полного разсмотрения всех свойств );
А незнаю как в других но в хроме просмотр кода элемента и вкладка консоль
Там и ошибки пишет.
Отредактировано TLENS (2011.08.19 15:03)
#68. Gemorroj Off (108)
Administrator
2011.08.19 15:03
tipsun, я и не пытался особо исправить. просто отформатировал код. нужен контекст, котором этот скрипт выполняется.
#69. tipsun Off (19)
Moderator
2011.08.19 16:04
Да короче хрень это все. На локальном все работает. Вот архив: cтраница, jQ, мой код.
Вложения
test.rar 30kb [загрузок: 259]
Отредактировано tipsun (2011.08.19 16:04)
#70. TLENS Off (14)
Moderator
2011.08.19 16:04
Что там делает HTML и где манифест.
Я сейчас фильм смотрю потом катну тебе по бырику примерчик.
#71. tipsun Off (19)
Moderator
2011.08.19 16:04
Локально код работает, не расширение. Ничего не катай smile
#72. Gemorroj Off (108)
Administrator
2011.08.19 17:05
Код:
//My//
var db = 'http://ext.tipsun.h2m.ru/db/',
ext = '.png',
count = 190,
html = '';
 
function smile (num) {
$("textarea").get(0).value += '[img]' + db + num + ext + '[/img]';
}
 
$(document).ready(function () {
for (var i = 1; i < count; i++) {
html += '<a href="#smile=' + i + '" onclick="smile(' + i + ');">' + i + '</a>&nbsp;';
}
 
html = '<div style="width: 150px; overflow-x: auto; background-color: #888; padding: 3px; margin: 3px 0px;">' + html + '</div>';
$('textarea').filter(":last").after(html);
});
почему ты настваил :last и промолчал об этом?
#73. tipsun Off (19)
Moderator
2011.08.19 17:05
Я только сейчас вспомнил/поставил.
#74. TLENS Off (14)
Moderator
2011.08.19 19:07
Last и first это выбрать последний и первый елемент
#75. DarkRiDDeR Off (4)
Участник
2011.08.27 16:04
Нужно со страницы передать на яваскрипте переменные, чтобы пользователь не заметил. Короче, пользователь должен кликнуть типо по ссылке не замечая этого, и чтобы его с этой страницы не кидало. Буду благодарен.
#76. TLENS Off (14)
Moderator
2011.08.27 17:05
DarkRiDDeR
<span style="display: none"><img src="http://..." alt="" /></span>
Но будет лучше через iframe если это не на партнерку так как на партнерках стоит top.location
Добавлено спустя   2 минуты  55 секунд:
Вариантов миллионы, Можно даже пост переправить
Отредактировано TLENS (2011.08.27 17:05)
#77. DarkRiDDeR Off (4)
Участник
2011.08.28 10:10
Нет, партнёрки я не дурачу, да и знаю это. Мне надо на яваскрипте.
#78. TLENS Off (14)
Moderator
2011.08.28 13:01
Ну тогда Request.HTML тебе в помощь если ты на свой сайт.
var myHTMLRequest = new Request.HTML({url:'myPage.html'}).post('user_id=25&save=true');
Отредактировано TLENS (2011.08.28 13:01)
#79. TLENS Off (14)
Moderator
2011.08.28 13:01
В jquery есть метод load самый простой.
#80. DarkRiDDeR Off (4)
Участник
2011.08.28 16:04
А можно пример, а то втыкаю в HTML и ошибка(я в javascripte почти не шарю, а надобность возникла):
Код:
<script type="text/javascript" language="javascript">
//<![CDATA[
var myHTMLRequest = new Request.HTML({url:'myPage.html'}).post('user_id=25&save=true');
//]]>
</script>
#81. TLENS Off (14)
Moderator
2011.08.29 16:04
Дело в том что я не знаю какие данные тебе надо. И что за ошибка?
Почитай про XMLHttpRequest или подключи jquery там есть метод load он самый простой.
Код:
xmlHttp = new XMLHttpRequest();
xmlHttp.open( "GET", '/index.php', true );
xmlHttp.send( null );
console.log(xmlHttp);
Отредактировано TLENS (2011.08.29 17:05)
#82. DarkRiDDeR Off (4)
Участник
2011.08.30 13:01
Во, всё работает. Большое спасибо. Да делал, чтобы яваскрипт разрешение экрана php отдал
#83. POFIGISST Off (6)
Участник
2012.02.25 14:02
Решил сделать флеш плеер на сайте для просмотра видео flv , плеер взял с сасисы, но вот с выводом проблема( такой код страницы

Код:
<?php
echo '<script type="text/javascript" src="/swfobject.js"></script>
    <script type="text/javascript" src="/flv.js"></script>
      <script type="text/javascript">show_flv("http://адрес видео.flv", "http://адрес скрина.gif");</script>';
?>
код файла swfobject.js взял я тоже с сасисы и код файла flv.js

Код:
function show_flv(file_id, thumb_path) {
if(document.getElementById('for_flv')) {
var player1=new SWFObject('http://сайт.ру/flvplayer.swf','player','256','256','9');
player1.addParam("allowfullscreen","true");
player1.addParam("allowscriptaccess","always");
player1.addParam("wmode","opaque");
player1.addParam("flashvars","file="+file_id+"&image="+thumb_path+"");
player1.write("for_flv"); inc_id = 1;
} else alert("create player failed!"); return false;
};
сам плеер flvplayer.swf у меня есть,но когда захожу на страницу,выводит такую хрень create player failed! почему так? вродь все правильно слямзил(
#84. Gemorroj Off (108)
Administrator
2012.02.25 14:02
читай доки по библиотеке.
#85. POFIGISST Off (6)
Участник
2012.02.25 17:05
semmit69
ну я слизал вывод и файлы с сасисы,с обмена,там он работает,это в моих кривых руках дело:D

Gemorroj Спс,почитаюsmile
#86. POFIGISST Off (6)
Участник
2012.02.25 23:11
Пример) там у них свой плеер )
Вложения
плеер.png 33kb {292x493} [загрузок: 572]
#87. Gemorroj Off (108)
Administrator
2012.02.25 23:11
какой к черту СВОЙ плеер? это блеять самый популярный флеш плеер в интернетах. мануалы по установке гуглятся элементарно. https://www.google.com/search?q=jw%20player
#88. POFIGISST Off (6)
Участник
2012.02.26 01:01
Gemorroj
блеее,я думал эт у них свой он(( спс за ссылку,поставил без проблем его=)
Отредактировано POFIGISST (2012.02.26 01:01)
#89. TLENS Off (14)
Moderator
2012.03.07 12:12
POFIGISST написал:
Решил сделать флеш плеер на сайте для просмотра видео flv , плеер взял с сасисы, но вот с выводом проблема( такой код страницы

Код:
<?php
echo '<script type="text/javascript" src="/swfobject.js"></script>
    <script type="text/javascript" src="/flv.js"></script>
      <script type="text/javascript">show_flv("http://адрес видео.flv", "http://адрес скрина.gif");</script>';
?>
код файла swfobject.js взял я тоже с сасисы и код файла flv.js

Код:
function show_flv(file_id, thumb_path) {
if(document.getElementById('for_flv')) {
var player1=new SWFObject('http://сайт.ру/flvplayer.swf','player','256','256','9');
player1.addParam("allowfullscreen","true");
player1.addParam("allowscriptaccess","always");
player1.addParam("wmode","opaque");
player1.addParam("flashvars","file="+file_id+"&image="+thumb_path+"");
player1.write("for_flv"); inc_id = 1;
} else alert("create player failed!"); return false;
};
сам плеер flvplayer.swf у меня есть,но когда захожу на страницу,выводит такую хрень create player failed! почему так? вродь все правильно слямзил(
Вторая строчка ищет в доме тег с id="for_flv" это тот блок в который запланировано вставить Ролик (Строка 8)
и если не находит возвращает следующее
} else alert("create player failed!"); return false;
Собственно то что описано.
Причин может быть две.
Или не успел загрузится DOM или нету такого элемента в доме
Совет:
Создать в теле страници блок с id="for_flv"
И вызвать show_flv("http://адрес видео.flv", "http://адрес скрина.gif"); после инициализации обьекта.
Например:
Код:
// Первый вариант
<body>
<div id="for_flv" onload="show_flv("http://адрес видео.flv", "http://адрес скрина.gif");"></div>
</body>
//2
<body>
<div id="for_flv"></div>
<script type="text/javascript">show_flv("http://адрес видео.flv", "http://адрес скрина.gif");</script>
</body>
//3
<head>
<script>
window.onload = function () {show_flv("http://адрес видео.flv", "http://адрес скрина.gif");};
</script>
</head>
<body>
<div id="for_flv"></div>
</body>
#90. POFIGISST Off (6)
Участник
2012.05.16 23:11
Решил себе сделать на сайте при реге подсказки на java , то есть чтоб наводишь мышкой на ссылку и там всплывает окошко с подсказкой smile в принципе написал рабочий код,ток х.з может можно его как-то лучше сделать)) вот сам код

Код:
<script type="text/javascript">
iu=0;
ff=0;
ff2=0;
function GetOp(){
return(iu/10);
}
function FadeIn(obj){
iu++;
document.getElementById(obj).style.opacity=GetOp();
if(iu<10) ff=setTimeout(FadeIn(obj),1500);
}
function FadeOut(obj){
iu--;
document.getElementById(obj).style.opacity=GetOp();
if(iu>0) ff2=setTimeout(FadeOut(obj),1500);
}
</script>
#91. Gemorroj Off (108)
Administrator
2012.05.17 10:10
POFIGISST, это не JAVA, а JavaScript - это блять абсолютно разные языки.
и не занимайся велосипедостроением, возьми готовые тултипы.
#92. POFIGISST Off (6)
Участник
2012.05.17 12:12
Gemorroj я имел в виду что это  JavaScript , и я знаю,что JAVA и JavaScript это разные языки))
#93. POFIGISST Off (6)
Участник
2012.05.17 18:06
Млять,конфликт версий у мя получается((

подключаю javasript к странице вот таким кодом

Код:
<script type ="text/javascript" src = name.js ></script>
в опере все норм получается,а в лисе ошибка идет(

а когда делаю подключение так

Код:
<script type ="text/javascript" src = "name.js" ></script>
то в лисе норм,а в опере непоказывает его(

как можно сделать чтоб и в лисе и в опере работало норм? или делать с использованием заголовков и дальше уже if else делать в зависимости от заголовка?
#94. Gemorroj Off (108)
Administrator
2012.05.17 18:06
<script type="text/javascript" src="name.js"></script>
#95. POFIGISST Off (6)
Участник
2012.05.17 18:06
Gemorroj написал:
<script type="text/javascript" src="name.js"></script>
а если так,то не выводит сообщение которое должно выводить(( вот сам js

Код:
if (confirm('Ты уверен что ты хочешь кликнуть?')) {
document.write('Ну ты и жахнул!');
 
} else {
document.write ('Ты не хочешь жахать?');
 
}
должно выводить текст в зависимости от выбора юзера, либо document.write('Ну ты и жахнул!'); либо document.write ('Ты не хочешь жахать?');  это,но нифига не выводит(
Отредактировано POFIGISST (2012.05.17 18:06)
#96. Gemorroj Off (108)
Administrator
2012.05.17 18:06
window.onload = function() {
    if (confirm('Ты уверен что ты хочешь кликнуть?')) {
        document.write('Ну ты и жахнул!');
    } else {
        document.write('Ты не хочешь жахать?');
    }
};
#97. POFIGISST Off (6)
Участник
2012.05.17 18:06
Gemorroj написал:
window.onload = function() {
    if (confirm('Ты уверен что ты хочешь кликнуть?')) {
        document.write('Ну ты и жахнул!');
    } else {
        document.write('Ты не хочешь жахать?');
    }
};
ошибок уже не выдает в лисе и в опере норм выводит,ток в лисе сообщения все равно не выводит(
#98. Gemorroj Off (108)
Administrator
2012.05.17 19:07
знач что-то не так делаешь
Добавлено спустя    11 секунд:
давай весь код
#99. POFIGISST Off (6)
Участник
2012.05.17 19:07
Gemorroj написал:
знач что-то не так делаешь
Добавлено спустя    11 секунд:
давай весь код
код файла name.js

Код:
window.onload = function() {
if (confirm('Ты уверен что ты хочешь кликнуть?')) {
document.write('Ну ты и жахнул!');
} else {
document.write('Ты не хочешь жахать?');
}
};
и вот код страницы к которой его подключаю

Код:
<!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=iso-8859-1" />
<meta name="author" content="POFIGISST" />
 
<title>Test</title>
</head>
 
<body>
<script type="text/javascript" src= "name.js" ></script>
 
</body>
</html>
у мя идет в странице только подключение файла и все)
Отредактировано POFIGISST (2012.05.17 19:07)
#100. Gemorroj Off (108)
Administrator
2012.05.18 11:11
Код:
<!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" />
<meta name="author" content="POFIGISST" />
<script type="text/javascript" src="test.js"></script>
<title>Test</title>
</head>
 
<body>
<div></div>
</body>
</html>
скрипты должны быть внутри HEAD
#101. POFIGISST Off (6)
Участник
2012.05.18 15:03
Gemorroj  а между тегами  <body> нельзя делать подключение? только между <head> делается подключение JavaScript?
я смотрел видео урок,там говорили что можно и между <body> и между <head> делать)) спасиб,буду знатьsmile
Отредактировано POFIGISST (2012.05.18 15:03)
#102. Gemorroj Off (108)
Administrator
2012.05.18 19:07
POFIGISST, а пидорасы еще говорят что можно с мужиками в жопу ебаться, тоже послушаешь?
#103. Nu3oN Off (11)
Moderator
2012.05.19 10:10
Gemorroj написал:
POFIGISST, а пидорасы еще говорят что можно с мужиками в жопу ебаться, тоже послушаешь?
Чувак, что-то ты загнался... можно в теле подключать скрипты! вопрос только в рациональности данного подхода)
Я буду лучше голоден, но между креслом и рулем и на дороге.
#104. Gemorroj Off (108)
Administrator
2012.05.19 10:10
http://javascript.ru/tutorial/foundation/start
ебаться с мужиками в жопу тоже можно, вопрос только в рациональности данного подхода ))
#105. Nu3oN Off (11)
Moderator
2012.05.21 13:01
Gemorroj написал:
http://javascript.ru/tutorial/foundation/start
ебаться с мужиками в жопу тоже можно, вопрос только в рациональности данного подхода ))
Твоя правда big_smile
Добавлено спустя    49 секунд:
semmit69 написал:
Gemorroj написал:
http://javascript.ru/tutorial/foundation/start
ебаться с мужиками в жопу тоже можно, вопрос только в рациональности данного подхода ))
по этому у тебя и не выходит с девками, как не тужся
Тебя на столько интересует половая жизнь гемора? или свечку держишь?))))
Я буду лучше голоден, но между креслом и рулем и на дороге.
#106. POFIGISST Off (6)
Участник
2012.05.21 14:02
Посты заебись,и это тема про javasript big_smile  гугл будет выдавать сайт в поисковиках по запросу "Гей сайт" или "Как ебаться в жопу" big_smile
Отредактировано POFIGISST (2012.05.21 14:02)
#107. Nu3oN Off (11)
Moderator
2012.05.21 19:07
semmit69, к половой жизни относиться не только ебля)))
З.ы я ж не в серьез сказал)
Я буду лучше голоден, но между креслом и рулем и на дороге.
#108. troi Off (0)
Участник
2013.03.17 15:03
Добрый день.У меня вопрос к вам,есть код ниже

<div class="foot">
<p class="sort" style="padding: 5px; "><font color="#ff0000">Внимание! Данный сайт содержит информацию для взрослых.<br>Для посещения сайта Вы должны подтвердить, что Вам есть 18 лет.</font></p>
<p class="sort"><a href="javascript://" onclick="Im18Y();SetCookie('18y', '1', 24);" class="button">Мне есть 18 лет</a>
<a class="button"<a href="http://sgoogle.com">Покинуть сайт</a>
</p>

нужно чтобы пр нажатии мне есть 18 лет надпись менялась на 'сайт для взрослых'
заранее спасибо)))
#109. Gemorroj Off (108)
Administrator
2013.03.17 15:03
Код:
<div class="foot">
<p class="sort" style="padding: 5px; ">
<font color="#ff0000">Внимание! Данный сайт содержит информацию для взрослых.<br />Для посещения сайта Вы должны подтвердить, что Вам есть 18 лет.</font>
</p>
<p class="sort">
<a href="#" onclick="Im18Y(this);" class="button">Мне есть 18 лет</a>
<a class="button" href="http://sgoogle.com">Покинуть сайт</a>
</p>
</div>
 
<script type="text/javascript">
function Im18Y(el) {
SetCookie('18y', '1', 24);
 
var span = document.createElement("span");
span.innerHTML = "сайт для взрослых";
el.parentNode.replaceChild(span, el);
 
return false;
}
</script>
#110. troi Off (0)
Участник
2013.03.17 15:03
sad  sad блин всё равно не меняет надпись как была так и осталась в чем то проблема???? hmm  hmm
Отредактировано troi (2013.03.17 16:04)
#111. Gemorroj Off (108)
Administrator
2013.03.18 01:01
что-то не правильно вставил. конкретно этот код работает.
#112. troi Off (0)
Участник
2013.03.18 17:05
Gemorroj написал:
что-то не правильно вставил. конкретно этот код работает.
ну как я хочу его вставить сверху ,я полностью скопировал и втавил но он прост обновляет страницу и все sad может его как нить раскинуть нужно????
Отредактировано troi (2013.03.18 17:05)
#113. Gemorroj Off (108)
Administrator
2013.03.18 17:05
давай свой код.
вероятно, у тебя уже есть функция Im18Y.
не стоит никогда бездумно копировать код.
#114. troi Off (0)
Участник
2013.03.18 17:05
Gemorroj написал:
давай свой код.
вероятно, у тебя уже есть функция Im18Y.
не стоит никогда бездумно копировать код.
ок вот код страницы
///////////////////////////////////
Код:
<div class="foot">
<p class="sort" style="padding: 5px; ">
<font color="#ff0000">Внимание! Данный сайт содержит информацию для взрослых.<br />Для посещения сайта Вы должны подтвердить, что Вам есть 18 лет.</font>
</p>
<p class="sort">
<a href="#" onclick="Im18Y(this);" class="button">Мне есть 18 лет</a>
<a class="button" href="http://soft.ru">Покинуть сайт</a>
</p>
</div>
 
<script type="text/javascript">
function Im18Y(el) {
SetCookie('18y', '1', 24);
 
var span = document.createElement("button");
span.innerHTML = "сайт для взрослых";
el.parentNode.replaceChild(span, el);
 
return false;
}
</script>
 
<div class="foot">
<center>
<a href="#"><img src="/dis/logo.png" width="400" height="60" alt=""></a>
</center>
</div>
 
<?php
 
// mod Gemorroj
require 'moduls/config.php';
require 'moduls/header.php';
 
 
###############Проверка переменных###############
$onpage = get2ses('onpage');
$prew = get2ses('prew');
 
$id = isset($_GET['id']) ? int($_GET['id']) : 0;
$page = isset($_GET['page']) ? int($_GET['page']) : 0;
$start = isset($_GET['start']) ? int($_GET['start']) : 0;
$out = '';
$banner = '';
if ($onpage < 3) {
$onpage = $setup['onpage'];
}
 
if ($prew != 0 && $prew != 1) {
$prew = $setup['preview'];
}
 
$mode = '`priority` DESC, `timeupload` DESC';
 
###############Получаем текущий каталог#############
if ($id) {
$d = mysql_fetch_assoc(mysql_query('
SELECT `t1`.`path`,
COUNT(`t2`.`id`) AS `all`
FROM `files` AS `t1`
LEFT JOIN `files` AS `t2` ON `t2`.`infolder` = `t1`.`path`
WHERE `t1`.`id` = ' . $id . '
AND `t1`.`hidden` = "0"
GROUP BY `t1`.`id`
ORDER BY NULL
',
$mysql));
} else {
$d['path'] = $setup['path'] . '/';
$d['all'] = mysql_result(mysql_query('SELECT COUNT(1) FROM `files` WHERE `infolder` = "' . mysql_real_escape_string($d['path'], $mysql) . '" AND `hidden` = "0"', $mysql), 0);
}
 
if (!is_dir($d['path'])) {
error('Folder not found.');
}
 
###############Онлайн#############
mysql_query("REPLACE INTO `online` (`ip`, `time`) VALUES ('" . $_SERVER['HTTP_USER_AGENT'] . "', NOW());", $mysql);
mysql_query('DELETE FROM `online` WHERE `time` < (NOW() - INTERVAL ' . $setup['online_time'] . ' SECOND)', $mysql);
 
$online = mysql_fetch_row(mysql_query('SELECT COUNT(1) FROM online', $mysql));
if ($online[0] > $setup['online_max']) {
mysql_query("REPLACE INTO `setting`(`name`, `value`) VALUES('online_max', '" . $online[0] . "');", $mysql);
mysql_query("REPLACE INTO `setting`(`name`, `value`) VALUES('online_max_time', NOW());", $mysql);
}
 
 
###############Постраничная навигация###############
$pages = ceil($d['all'] / $onpage);
if (!$pages) {
$pages = 1;
}
if ($page > $pages || $page < 1) {
$page = 1;
}
 
$start = ($page - 1) * $onpage;
if ($start > $d['all'] || $start < 0){
$start = 0;
}
 
###############Готовим заголовок###################
$ex = explode('/', $d['path']);
$sz = sizeof($ex) - 2;
$nav_dir = $setup['path'] . '/';
 
unset($ex[0], $ex[$sz + 1]);
$path = $setup['path'] . '/';
 
$put = '';
if ($ex) {
$implode = 'SELECT ' . ($_SESSION['langpack'] == 'russian' ? '`id`, `rus_name`' : '`id`, `name`') . ' FROM `files` WHERE `path` IN(';
foreach ($ex as $v) {
$path .= $v . '/';
$implode .= '"' . mysql_real_escape_string($path, $mysql) . '",';
}
 
 
$q = mysql_query(rtrim($implode, ',') . ')', $mysql);
while ($s = mysql_fetch_row($q)) {
$put .= '<a href="' . DIRECTORY . $s[0] . '">' . htmlspecialchars($s[1], ENT_NOQUOTES) . '</a> | ';
$title .= '/' . htmlspecialchars($s[1], ENT_NOQUOTES);
$descript .= htmlspecialchars($s[1], ENT_NOQUOTES);
$keyword .= htmlspecialchars($s[1], ENT_NOQUOTES);
}
}
 
###############Вывод заголовка###############
if($id >= 1) $out.='<div class="mainzag" align="center">'.nam($put).'</div>';
###############Вывод рекламы###############
 
if($id < 1) $banner.='<div class="foot"><a href="'.DIRECTORY.'online/">Online: '.int($online[0]).'</a> | '.$_SESSION['language']['maximum online'] . ': <strong>' . intval($setup['online_max']) . '</strong> (' . tm(strtotime($setup['online_max_time'])) . ')</div>';
 
$Reklames = new Reklames(); // Создаем экземпляр класса Reklames
$out.= $Reklames->Top();
$banner.= $Reklames->Bottom();
 
if($id < 1){
$banner.='<div class="foots" align="center">'.$_SESSION['language']['language'].' : ';
$arr_lang=array('russian','english');
foreach ($arr_lang as $va) {
$banner.= '<a href="'.DIRECTORY.'lang/'.$va.'/"><img src="'.DIRECTORY.'dis/'.$va.'.png"></a> ';
}
$banner.='</div>';
}
$banner.= $id < 1 ? $Reklames->Banner(1) : $Reklames->Banner();
 
 
// только если корень
if ($id < 1) {
$str = '';
/// новости // кол-во символов
$news = mysql_fetch_row(mysql_query('SELECT `time`, LEFT(`' . ($_SESSION['langpack'] == 'russian' ? 'rus_news' : 'news') . '`,64) FROM `news` ORDER BY `id` DESC LIMIT 1', $mysql));
 
if ($news) {
$str.= '- <a href="' . DIRECTORY . 'news.php">' . $_SESSION['language']['news'] . '</a> (' . tm($news[0]) . ')<br/>';
}
 
if ($setup['search_change']) {
$str.= '- <a href="' . DIRECTORY . 'search.php">' . $_SESSION['language']['search'] . '</a><br/>';
}
$str.= '- <a href="' . DIRECTORY . 'new/">' . $_SESSION['language']['new files'] . '</a><br/>';
 
if ($setup['top_change']) {
$str.= '- <a href="' . DIRECTORY . 'top/">' . str_replace('%files%', $setup['top_num'], $_SESSION['language']['top20']) . '</a><br/>';
}
 
if ($setup['zakaz_change']) {
$str .= '- <a href="' . DIRECTORY . 'table.php">' . $_SESSION['language']['orders'] . '</a><br/>';
}
 
if ($str) {
$out .= '<div class="aut">' . $str . '</div>';
unset($str);
}
}
 
 
###############Список файлов и папок###############
if (!$d['all']) {
$out .= '<div class="row"><strong>[' . $_SESSION['language']['empty'] . ']</strong></div>';
}
if($d['all'] && $id >= 1){
 
if ($setup['preview_change']) {
$out.= '<div class="sort">' . $_SESSION['language']['preview'] . ': ';
if ($_SESSION['prew'] == 1) {
$out.= '<strong>On</strong> <a href="' . DIRECTORY . 'prew/0/' . $id . '">Off</a>';
} elseif($_SESSION['prew'] == 0) {
$out.= '<a href="' . DIRECTORY . 'prew/1/' . $id . '">On</a> <strong>Off</strong>';
}
$out.= '</div>';
}
}
 
$dn = 86400 * $setup['day_new'];
$key = false;
 
$limit = $id < 1 ? '' : 'LIMIT ' . $start . ', ' . $onpage;
 
if ($_SESSION['langpack'] == 'russian') {
$query = mysql_query('
SELECT
`id`,
`dir`,
`dir_count`,
`path` as `v`,
`rus_name` AS `name`,
`size`,
`loads`,
`timeupload`,
`yes`,
`no`,
`3d_dir`,`bt_dir`,`top_dir`,`vendor_dir`,`alp_dir`,`new_dir`,
(SELECT COUNT(1) FROM `files` WHERE `infolder`=`v` AND `timeupload` > "' . ($_SERVER['REQUEST_TIME'] - $dn) . '" AND `dir` = "0" AND `hidden` = "0" AND `fileid`="0") AS `count`
FROM `files`
WHERE `infolder` = "' . mysql_real_escape_string($d['path'], $mysql) . '"
AND `hidden` = "0"
AND `fileid` = "0"
ORDER BY ' . $mode . '
'.$limit,$mysql);
 
} else {
$query = mysql_query(
'SELECT
`id`,
`dir`,
`dir_count`,
`path` as `v`,
`name`,
`size`,
`loads`,
`timeupload`,
`yes`,
`no`,
`3d_dir`,`bt_dir`,`top_dir`,`vendor_dir`,`alp_dir`,`new_dir`,
(SELECT COUNT(1) FROM `files` WHERE `infolder`=`v` AND `timeupload` > "' . ($_SERVER['REQUEST_TIME'] - $dn) . '" AND `dir` = "0" AND `hidden` = "0" AND `fileid`="0") AS `count`
FROM `files`
WHERE `infolder` = "' . mysql_real_escape_string($d['path'], $mysql) . '"
AND `hidden` = "0"
AND `fileid` = "0"
ORDER BY ' . $mode . '
'.$limit,$mysql);
}
 
$dirsql = mysql_fetch_row(mysql_query('SELECT `3d_dir`,`bt_dir`,`top_dir`,`vendor_dir`,`alp_dir`,`new_dir` FROM `files` WHERE `id`="'.$id.'" AND `dir`="1" LIMIT 1',$mysql));
 
$errore = $dirsql[0].$dirsql[1].$dirsql[2].$dirsql[3].$dirsql[4].$dirsql[5];
 
//Вывод топ, бт,3д, производители...
if($page <= 1 && $errore) $out.='<div class="aut">';
 
if($dirsql[0] && $page <= 1) $out.='- <a href="'.DIRECTORY.'3D_games/">'.htmlspecialchars($dirsql[0]).'</a><br/>';
 
if($dirsql[1] && $page <= 1) $out.='- <a href="'.DIRECTORY.'bluetooth_games/">'.htmlspecialchars($dirsql[1]).'</a><br/>';
 
if($dirsql[2] && $page <= 1) $out.='- <a href="'.DIRECTORY.'top/'.$id.'/load">'.$setup['top_num'].htmlspecialchars($dirsql[2]).'</a><br/>';
 
if($dirsql[3] && $page <= 1) $out.='- <a href="'.DIRECTORY.'vendors/">'.htmlspecialchars($dirsql[3]).'</a><br/>';
 
if($dirsql[4] && $page <= 1) $out.='- <a href="'.DIRECTORY.'alphabets/'.$id.'/">'.htmlspecialchars($dirsql[4]).'</a><br/>';
 
if($dirsql[5] && $page <= 1) $out.='- <a href="'.DIRECTORY.'new/'.$id.'/">'.htmlspecialchars($dirsql[5]).'</a><br/>';
 
if($page <= 1 && $errore) $out.='</div>';
 
 
while ($v = mysql_fetch_assoc($query)) {
$pre = $desc = $info = $new_info = '';
$screen = strstr($v['v'], '/'); // убираем папку с загрузками
 
 
 
if ($key = !$key) {
$row = '<div class="row">';
} else {
$row = '<div class="row2">';
}
if ($v['dir']) {
//Кол-во новых файлов в папке
if ($setup['day_new'] && $v['count']) {
$new_all = '<a href="'.DIRECTORY.'new/'.$v['id'].'/"><span class="yes">+' . $v['count'] . '</span></a>';
} else {
$new_all = '';
}
 
//Иконка к папке
if (file_exists($v['v'] . 'folder.png')) {
$ico = '<img src="' . DIRECTORY . htmlspecialchars($v['v']) . 'folder.png" alt=""/>';
} else {
$ico = '<img src="' . DIRECTORY . 'ext/dir.png" alt=""/>';
}
 
//Собсвенно вывод
$out .= $row . $ico . ' <a href="' . DIRECTORY . $v['id'] . '">' . htmlspecialchars($v['name'], ENT_NOQUOTES) . '</a> <strong>(' . $v['dir_count'] . ')</strong>' . $new_all;
 
// описания
if ($setup['desc'] && file_exists($setup['opath'] . $screen . '.txt')) {
$out .= '<br/>' . iconv_substr(trim(file_get_contents($setup['opath'] . $screen . '.txt')), 0, $setup['desc']);
}
 
$out .= '</div>';
} else {
$prev_pic = str_replace('/', '--', iconv_substr($screen, 1));
$ext = strtolower(pathinfo($v['v'], PATHINFO_EXTENSION));
$pre = '';
 
//Предосмотр
if ($prew) {
if ($setup['screen_change'] && ($ext == 'gif' || $ext == 'jpeg' || $ext == 'jpg' || $ext == 'png' || $ext == 'bmp')) {
if (file_exists($setup['picpath'] . '/' . $prev_pic . '.gif')) {
$pre .= '<img style="margin: 1px;" src="' . DIRECTORY . $setup['picpath'] . '/' . htmlspecialchars($prev_pic) . '.gif" alt=""/>';
} else {
$pre .= '<img style="margin: 1px;" src="' . DIRECTORY . 'im/' . $v['id'] . '" alt=""/>';
}
} else if ($setup['screen_change'] && ($ext == 'avi' || $ext == '3gp' || $ext == 'mp4' || $ext == 'flv') && extension_loaded('ffmpeg')) {
$wh = explode('*', $setup['prev_size']);
if (file_exists($setup['ffmpegpath'] . '/' . htmlspecialchars($prev_pic) . '_frame_' . $setup['ffmpeg_frame'] . '.gif')) {
$pre .= '<img style="margin: 1px;" src="' . DIRECTORY . $setup['ffmpegpath'] . '/' . htmlspecialchars($prev_pic) . '_frame_' . $setup['ffmpeg_frame'] . '.gif" alt=""/>';
} else {
$pre .= '<img style="margin: 1px;" src="' . DIRECTORY . 'ffmpeg/' . $v['id'] . '" alt=""/>';
}
} else if ($setup['screen_change'] && ($ext == 'thm' || $ext == 'nth' || $ext == 'utz' || $ext == 'sdt' || $ext == 'scs')) {
if (file_exists($setup['tpath'] . '/' . $prev_pic . '.gif')) {
$pre .= '<img style="margin: 1px;" src="' . DIRECTORY . $setup['tpath'] . '/' . htmlspecialchars($prev_pic) . '.gif" alt=""/>';
} else if ($setup['swf_change'] && file_exists($setup['tpath'] . '/' . $prev_pic . '.gif.swf')) {
$pre .= '<object style="width:128px; height:128px;"><param name="movie" value="' . DIRECTORY . $setup['tpath'] . '/' . htmlspecialchars($prev_pic) . '.gif.swf"><embed src="' . DIRECTORY . $setup['tpath'] . '/' . htmlspecialchars($prev_pic) . '.gif.swf" style="width:128px; height:128px;"></embed></param></object>';
} else if (!file_exists($setup['tpath'] . '/' . $prev_pic . '.gif.swf')) {
$pre .= '<img style="margin: 1px;" src="' . DIRECTORY . 'theme/' . $v['id'] . '" alt=""/>';
}
} else if ($setup['swf_change'] && $ext == 'swf') {
$pre .= '<object style="width:128px; height:128px;"><param name="movie" value="' . DIRECTORY . htmlspecialchars($v['v']) . '"><embed src="' . DIRECTORY . htmlspecialchars($v['v']) . '" style="width:128px; height:128px;"></embed></param></object>';
}
}
 
 
//Новизна файла
if (($v['timeupload'] + $dn) >= $_SERVER['REQUEST_TIME'] && $setup['day_new']) {
$new_info = ' <span class="yes">' . $_SESSION['language']['new'] . '</span>';
} else {
$new_info = '';
}
//Красивый размер
$v['size'] = '(' . size($v['size']) . ')';
 
if ($setup['screen_change']) {
$th_gif = file_exists($setup['spath'] . $screen . '.thumb.gif');
$th_jpg = file_exists($setup['spath'] . $screen . '.thumb.jpg');
 
if (file_exists($setup['spath'] . $screen . '.gif') && !$th_gif) {
img_resize($setup['spath'] . $screen . '.gif', $setup['spath'] . $screen . '.thumb.gif', 0, 0, $setup['marker']);
} else if (file_exists($setup['spath'] . $screen . '.jpg') && !$th_gif) {
img_resize($setup['spath'] . $screen . '.jpg', $setup['spath'] . $screen . '.thumb.gif', 0, 0, $setup['marker']);
}
 
if ($th_gif) {
$pre .= '<img style="margin: 1px;" src="' . DIRECTORY . $setup['spath'] . htmlspecialchars($screen) . '.thumb.gif" alt=""/> ';
} else if ($th_jpg) {
$pre .= '<img style="margin: 1px;" src="' . DIRECTORY . $setup['spath'] . htmlspecialchars($screen) . '.thumb.jpg" alt=""/> ';
}
}
 
if ($pre) {
$pre .= '<br/>';
}
 
 
//Иконка к файлу
if (!$pre && $setup['jar_change'] && ($ext == 'jar' && $ext != 'apk')) {
if (file_exists($setup['ipath'] . '/' . $prev_pic . '.png')) {
$ico = '<img style="margin: 1px;" src="' . DIRECTORY . $setup['ipath'] . '/' . htmlspecialchars($prev_pic) . '.png" width="16" height="16" alt=""/> ';
} elseif (jar_ico($v['v'], $setup['ipath'] . '/' . $prev_pic . '.png')) {
$ico = '<img style="margin: 1px;" src="' . DIRECTORY . $setup['ipath'] . '/' . htmlspecialchars($prev_pic) . '.png" width="16" height="16" alt=""/> ';
}
}elseif (!$pre && $setup['apk_change'] && ($ext == 'apk' && $ext != 'jar')) {
if (file_exists($setup['apkpath'] . '/' . $prev_pic . '.png')) {
$ico = '<img style="margin: 1px;" src="' . DIRECTORY . $setup['apkpath'] . '/' . htmlspecialchars($prev_pic) . '.png" width="16" height="16" alt=""/> ';
} elseif (apk_ico($v['v'], $setup['apkpath'] . '/' . $prev_pic . '.png')) {
$ico = '<img style="margin: 1px;" src="' . DIRECTORY . $setup['apkpath'] . '/' . htmlspecialchars($prev_pic) . '.png" width="16" height="16" alt=""/> ';
}
}elseif (!$pre && file_exists('ext/' . $ext . '.png')) {
$ico = '<img src="' . DIRECTORY . 'ext/' . $ext . '.png" alt=""/> ';
}elseif(!$pre && !file_exists('ext/' . $ext . '.png')) {
$ico = '<img src="' . DIRECTORY . 'ext/stand.png" alt=""/> ';
}elseif($pre && file_exists('ext/' . $ext . '.png')){
$ico = '';
}
 
if ($setup['desc'] && file_exists($setup['opath'] . $screen . '.txt')) {
$desc .= '<br/>' . iconv_substr(trim(file_get_contents($setup['opath'] . $screen . '.txt')), 0, $setup['desc']);
}
 
 
//Собственно вывод
$out .= $row . $pre . $ico . '<strong><a href="' . DIRECTORY . 'view/' . $v['id'] . '">' . htmlspecialchars($v['name'], ENT_NOQUOTES) . '</a></strong> ' . $v['size'] . $info . $new_info . $desc . '<br/></div>';
}
}
 
###############Постраничная навигация########
if ($pages > 1 && $limit != '') {
$out .= '<div class="row">' . $_SESSION['language']['pages'] . ': ';
$asd = $page - 2;
$asd2 = $page + 3;
if ($asd < $d['all'] && $asd > 0 && $page > 3) {
$out .= '<a href="' . DIRECTORY . $id . '/1">1</a> ... ';
}
for ($i = $asd; $i < $asd2; ++$i) {
if($i < $d['all'] && $i > 0) {
if ($i > $pages ) {
break;
}
if ($page == $i) {
$out .= '<strong>' . $i . '</strong> ';
} else {
$out .= ' <a href="' . DIRECTORY . $id . '/' . $i . '">' . $i . '</a>,';
}
}
}
if ($i <= $pages) {
if ($asd2 < $d['all']) {
$out .= ' ... <a href="' . DIRECTORY . $id . '/' . $pages . '">' . $pages . '</a>';
}
}
$out .= '<br/></div>';
 
}
 
if($d['all'] && $id >= 1){
if ($setup['onpage_change']) {
$out .= '<div class="sort">' . $_SESSION['language']['files on page'] . ': ';
for ($i = 5; $i < 25; $i += 5) {
if (isset($_SESSION['onpage']) && $_SESSION['onpage'] == $i) {
$out .= '<strong>' . $i . '</strong> ';
} else {
$out .= '<a href="' . DIRECTORY . 'onpage/' . $i . '/' . $id . '">' . $i . '</a> ';
}
}
$out .= '</div>';
}
$out .= '<div class="foot">';
if ($setup['search_change']) $out.='<a href="'.DIRECTORY.'search.php?cat='.$id.'">' . $_SESSION['language']['search2'] . '</a> | ';
$out.='<a href="' . DIRECTORY . '">' . $_SESSION['language']['downloads'] . '</a> | ' . $put . '</div>';
}
 
 
echo $out . '</div>' . $banner;
 
require 'moduls/foot.php';
 
?>
/////////////////////////////////////
внизу сам файл
Вложения
index.php 18kb [загрузок: 454]
Отредактировано troi (2013.03.18 18:06)
#115. Gemorroj Off (108)
Administrator
2013.03.18 18:06
нужен сгенеренный html код...
#116. troi Off (0)
Участник
2013.03.18 18:06
Gemorroj написал:
нужен сгенеренный html код...
Поможеш???? roll  roll  roll
#117. Gemorroj Off (108)
Administrator
2013.03.18 19:07
если будет понятно чем
#118. troi Off (0)
Участник
2013.03.18 19:07
Gemorroj написал:
если будет понятно чем
ну чтоб код заработал roll
#119. TLENS Off (14)
Moderator
2013.03.20 15:03
Ты давай начинай а тз я потом напишу))
#120. troi Off (0)
Участник
2013.03.20 17:05
TLENS написал:
Ты давай начинай а тз я потом напишу))
ты мне smile
#121. Vamp Off (1)
Участник
2013.04.04 17:05
привет, мне нужно как то определить есть ли реклама для пользователя в коде
<script src="http://mobiads.ru/000000.js" type="text/javascript"></script>
???

типа так

$rekl = '<script src="http://mobiads.ru/000000.js" type="text/javascript"></script>';

if($rekl)
{
echo '<script src="http://mobiads.ru/000000.js" type="text/javascript"></script>';
}
else
{
echo 'моя реклама';
}

помогите с етим?
Нельзя вернуться в прошлое и изменить свой старт,
но можно стартовать сейчас и изменить свой финиш.
#122. TLENS Off (14)
Moderator
2013.04.06 14:02
Vamp написал:
привет, мне нужно как то определить есть ли реклама для пользователя в коде
<script src="http://mobiads.ru/000000.js" type="text/javascript"></script>
???

типа так

$rekl = '<script src="http://mobiads.ru/000000.js" type="text/javascript"></script>';

if($rekl)
{
echo '<script src="http://mobiads.ru/000000.js" type="text/javascript"></script>';
}
else
{
echo 'моя реклама';
}

помогите с етим?
Для тебя это не реально сделать. Забудь
Добавлено спустя   5 минут  19 секунд:
А вообще надо смотреть на существование переменных или может скрипт записывает в какой то блок его надо и проверять. По этому что ты спросил невозможно ничего ответить да что там ответить тут невозможно понять толком что ты хочешь. Слава богу я немного телепат
#123. Vamp Off (1)
Участник
2013.04.06 18:06
мне нужно прочесть то что дает этот код (рекламную информацию)
код
<script src="http://mobiads.ru/000000.js" type="text/javascript"></script>

если етот код не дал рекламные ссылки то менять рекламу на мою


както так

if(информация с кода)
{
если есть реклама в коде то идет показ этого кода

echo '<script src="http://mobiads.ru/000000.js" type="text/javascript"></script>';
}
else
{
если нет рекламы в коде то идет показ моей рекламы

echo 'моя реклама';
}
Нельзя вернуться в прошлое и изменить свой старт,
но можно стартовать сейчас и изменить свой финиш.
#124. Vamp Off (1)
Участник
2013.04.28 09:09
привет, посоветуйте как лучьше банить пользователя по ip и ua?


а то мои баны не помагают.
Нельзя вернуться в прошлое и изменить свой старт,
но можно стартовать сейчас и изменить свой финиш.
#125. tipsun Off (19)
Moderator
2013.04.28 10:10
- аккаунт
- ip-адрес
- user agent
- cookie
А вообще: все можно сменить, чтоб попасть на сайт.
Лучше сделать регистрацию по номеру телефона или очень замороченной. Можно по пригласительным сделать регистрацию и только.
Добавлено спустя   3 минуты  7 секунд:
По пригласительному можно будет определить кто пригласил и в случае чего заблокировать сразу обоих.
Или лишить шанса давать пригласительные.
#126. Vamp Off (1)
Участник
2013.04.28 17:05
ip меняется cookie можно очистить
Нельзя вернуться в прошлое и изменить свой старт,
но можно стартовать сейчас и изменить свой финиш.
#127. tipsun Off (19)
Moderator
2013.04.28 18:06
tipsun написал:
- аккаунт
- ip-адрес
- user agent
- cookie
А вообще: все можно сменить, чтоб попасть на сайт.
Лучше сделать регистрацию по номеру телефона или очень замороченной. Можно по пригласительным сделать регистрацию и только.
Добавлено спустя   3 минуты  7 секунд:
По пригласительному можно будет определить кто пригласил и в случае чего заблокировать сразу обоих.
Или лишить шанса давать пригласительные.
Можно запретить вход на сайт, если не включены cookie. Тогда не получится избавиться от cookie.
#128. tipsun Off (19)
Moderator
2013.04.28 19:07
semmit69 написал:
Ага, но "получится" избавится от невиновных посетителей, гостей неавторизованных и ботов поисковых(индексации не будет) которым в таком случае тоже будет закрыт доступ...
Да, боты. О них не подумал.
#129. Vamp Off (1)
Участник
2013.04.29 18:06
как сделать в грабере чтоб передавался ип пользователя а не ип сервера

Код:
<?php
$host"site.mobi"$path="/android/?".$_SERVER ['QUERY_STRING'];
$fp=fsockopen($host,80,$errno$errstr,10);
if(!$fp) { echo "$errstr ($errno)<br/>\n"; }else{
$data "";$post=0; foreach($_POST as $key=>$value){
$post=1$data.="&$key=$value";} if($data)$data=substr ($data,1);
if($post$headers "POST $path HTTP/1.0\r\n";else
$headers "GET $path HTTP/1.0\r\n"$headers.= "Host: $host\r\n";
$headers.= "Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif,image/x-bitmap, */*;q=0.1\r\n";
$headers.= "Accept-Charset: utf-8;q=0.6 windows-1251;q=0.1*;q=0.1\r\n";
$headers.= "Accept-Encoding: utf-8\r\n";
$headers.= "Accept-Language: ru, en;q=0.9\r\n";
$headers.= "User-Agent: ".$_SERVER ['HTTP_USER_AGENT']."\r\n";
if($post){ $headers.= "Content-type: application/x-www-form-urlencoded\r\n";
$headers.= "Content-Length: ".strlen ($data)."\r\n";
$headers.= "\r\n"$headers.= $data;}else $headers.="\r\n";
@fwrite($fp$headers); while($file != "\r\n"$file = @fgets($fp128);
$file ''; while(!feof($fp)) $file.= @fgets($fp4096); @fclose($fp); }
Нельзя вернуться в прошлое и изменить свой старт,
но можно стартовать сейчас и изменить свой финиш.
#130. Gemorroj Off (108)
Administrator
2013.04.29 19:07
Vamp никак
#131. Vamp Off (1)
Участник
2013.04.29 21:09
a на curl?
Нельзя вернуться в прошлое и изменить свой старт,
но можно стартовать сейчас и изменить свой финиш.
#132. Vamp Off (1)
Участник
2013.04.29 23:11
код


Код:
<?php
function curl_get_file_contents($URL$post false)
 {
 $header[] = 'Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5';
 $header[] = 'Connection: Close';
 $header[] = 'Accept-Charset: iso-8859-1, utf-8, utf-16, *;q=0.1';
 $header[] = 'Accept-Language: ru-RU,ru;q=0.9,en;q=0.8';
 $header[] = 'User-Agent: Opera 8/0';
 
 
 $curl curl_init();
 
 
 curl_setopt($curlCURLOPT_URL$URL);
 curl_setopt($curlCURLOPT_HTTPHEADER$header);
 curl_setopt($curlCURLOPT_AUTOREFERERfalse);
 curl_setopt($curlCURLOPT_RETURNTRANSFERtrue);
 curl_setopt($curlCURLOPT_FOLLOWLOCATIONtrue);
 curl_setopt($curlCURLOPT_HEADERfalse);
 
 
 
 $contents curl_exec($curl);
 curl_close($curl);
 
 return $contents;
 }
 
 $file curl_get_file_contents('http://site.ru'.$_SERVER['QUERY_STRING']);
 
 $file preg_replace('/<\?xml(.*?)<\/a><\/div>/si'''$file);
 //$file = str_replace('href="/', 'href="', $file);
 $file preg_replace('/<div class="sec"(.*?)<\/html>/si'''$file);
 
 echo $file;
Нельзя вернуться в прошлое и изменить свой старт,
но можно стартовать сейчас и изменить свой финиш.
#133. Vamp Off (1)
Участник
2013.04.30 22:10
наверное никто не ответит.

вот ещё вопрос: как например удалять все пустые файлы в папке cache ?
Нельзя вернуться в прошлое и изменить свой старт,
но можно стартовать сейчас и изменить свой финиш.
#134. Gemorroj Off (108)
Administrator
2013.04.30 22:10
Vamp, тебе уже ответили.
пройдись по всем файлам, и у которых размер 0 удаляй.
#135. Vamp Off (1)
Участник
2013.04.30 22:10
чтото делаю не так


вот

Код:
$dirname = "cache/game";
$dirhandle = opendir($dirname);
$filename = "";
 
while (($filename = readdir($dirhandle)) !== false)
if(filesize($filename) == 0)
{
unlink($filename);
}
 
closedir($dirhandle);
Добавлено спустя   2 минуты  13 секунд:
не удаляет
Нельзя вернуться в прошлое и изменить свой старт,
но можно стартовать сейчас и изменить свой финиш.
#136. TLENS Off (14)
Moderator
2013.04.30 23:11
Vamp написал:
чтото делаю не так


вот

$dirname = "cache/game";
$dirhandle = opendir($dirname);
$filename = "";

while (($filename = readdir($dirhandle)) !== false)
if(filesize($filename) == 0)
{
unlink($filename);
}

closedir($dirhandle);
Добавлено спустя   2 минуты  13 секунд:
не удаляет
Попробуй рекурсивное удаление директории.
А так же проверь права
#137. Gemorroj Off (108)
Administrator
2013.04.30 23:11
Код:
<?php
$dirname "cache/game";
$dirhandle opendir($dirname);
$filename "";
 
while (($filename readdir($dirhandle)) !== false) {
    if (filesize($dirname '/' $filename) === 0) {
        unlink($dirname '/' $filename);
    }
}
 
closedir($dirhandle);
#138. Vamp Off (1)
Участник
2013.05.01 13:01
спасибо
Нельзя вернуться в прошлое и изменить свой старт,
но можно стартовать сейчас и изменить свой финиш.
#139. TLENS Off (14)
Moderator
2014.02.15 23:11
Есть ли альтернатива JSON.parse? Почему то с апи ютуба местами появляются битые символы при парсиге кирилицы в utf8
#140. Gemorroj Off (108)
Administrator
2014.02.15 23:11
TLENS, eval раньше использовали.
#141. TLENS Off (14)
Moderator
2014.02.16 00:12
Была мысля)) Но что то насторожило меня это на боевом nodejs сервере.
Добавлено спустя   6 минут  35 секунд:
Проверил. Можно завернуть в трайкэч. Спасибо :)
#142. TLENS Off (14)
Moderator
2014.02.16 01:01
Блин. Проблема вовсе не в парсинге. Битые символы уже есть в полученном файле. Проблему надо искать в получении содержимого. Возможно проблема в склеивании строк при плюсовании новых полученных данных из буфера сокета. Сейчас буду искать причину.
Код:
var output = "";
var status;
var headers;
var req = (parseUrl.protocol == "https:" ? https: http).get(url, function(res) {
status = res.statusCode;
headers = res.headers;
res.on('data', function(d) {
output += d;
})
.on('end', function () {
console.log(output);
callback(null, output, status, headers);
});
})
Добавлено спустя   5 минут  44 секунды:
Собственно как Я и предполагал.
Добавил такой код и получил тексты которые c битыми символами
Код:
res.on('data', function(d) {
var l = output.length;
if (l > 0) {
console.log(output.substr(l-10, l, 'utf-8'));
}
output += d.toString();
})
#143. TLENS Off (14)
Moderator
2014.02.16 01:01
Решение нашел быстро. Все решается указав входящему потоку кодировку res.setEncoding('utf8');
Код:
var req = (parseUrl.protocol == "https:" ? https: http).get(url, function(res) {
status = res.statusCode;
headers = res.headers;
res.setEncoding('utf8');
res.on('data', function(d) {
output += d;
})
#144. Merzavetz Off (1)
Участник
2014.08.12 09:09
function vksitemention(info, tab) {
    var sites = tab.url.match(/^[\w-]+:\/*\[?([\w\.:-]+)\]?(?::\d+)?/)[1];
    chrome.tabs.create({
        url: 'http://vk.com/feed?q=domain:' +sites+ '&section=search'
    });
}
Здесь регулярка обрезает все кроме домена, а надо чтобы остался полный адрес, но только без "https://", "http://", "https://www.", "http://www.". Помогите пожалуйста, какая там должна быть регулярка?
#145. Gemorroj Off (108)
Administrator
2014.08.12 13:01
сделай просто replace
#146. TLENS Off (14)
Moderator
2014.08.12 16:04
Merzavetz написал:
function vksitemention(info, tab) {
    var sites = tab.url.match(/^[\w-]+:\/*\[?([\w\.:-]+)\]?(?::\d+)?/)[1];
    chrome.tabs.create({
        url: 'http://vk.com/feed?q=domain:' +sites+ '&section=search'
    });
}
Здесь регулярка обрезает все кроме домена, а надо чтобы остался полный адрес, но только без "https://", "http://", "https://www.", "http://www.". Помогите пожалуйста, какая там должна быть регулярка?
Код:
var parser = document.createElement('a');
parser.href = "http://example.com:3000/pathname/?search=test#hash";
parser.protocol; // => "http:"
parser.hostname; // => "example.com"
parser.port; // => "3000"
parser.pathname; // => "/pathname/"
parser.search; // => "?search=test"
parser.hash; // => "#hash"
parser.host; // => "example.com:3000"
#147. despod Off (0)
Участник
2015.02.11 19:07
Всем привет помогите пожалуйста разобраться есть некий код 
Код:
<?php
<div><img src="'.$dir.$files[$i].'">[<a href="javascript:inf(\'#content'.$i.'\')" id="say" class="infos">инфо</a>]
            
            <div id="content'.$i.-динамический'" style="display:none;" class="content">
            <span id="closed" onclick="out();">[X]</span>
            путь'.$dir.$files[$i].'<br/>
            имя '.$files[$i].'<br/>
            размер'.floor(filesize($dir.$files[$i])/1024).'b.
            </div>
            </div>
 
function inf(rz){
       
   $(rz).fadeIn(300).html(); //открытие контента 
    
 
}
 
function out(){
    $('#closed').click(function(){ 
    $('.content').hide("slow");// закрытие контента
                
});
}
вроде все норм работает но при закрытии закрываеться контейнер с content0
но когда пытаюсь закрыть контейнера с id content1,content2 и так далее они не закрываються
как можно проблему исправить гугл не помог
Отредактировано tipsun (2015.02.11 20:08)
#148. Gemorroj Off (108)
Administrator
2015.02.12 09:09
у тебя на странице получается много одинаковых элементов с одинаковой id "closed". ей тоже нужно циферку в конец дописывать, как и к "content".
и лучше закрывать не явно вызывая функцию, а вешая обработчик типа такого.
Код:
$("span[id^='closed']").click(function () {
$(this).parent().hide("slow");
});
#149. EvgenCed1966 Off (0)
Участник
2015.07.15 04:04
Нет, я спрашиваю про обьект типа "кнопка" но что бы с фоновым рисунком или как хоть ее цвет поменять?
#150. Gemorroj Off (108)
Administrator
2015.07.15 11:11
EvgenCed1966 написал:
Нет, я спрашиваю про обьект типа "кнопка" но что бы с фоновым рисунком или как хоть ее цвет поменять?
ты о чем?
#151. despod Off (0)
Участник
2015.08.21 08:08
Доброго времени суток!

есть некий код

Код:
$("input[type='submit']").click(function() {
var mess = $("#pole").serialize();
$.ajax({
type: "POST",
url: "post.php?total=add",
cache: false,
data: mess,
success: function(data) {
if(data == 1 || data == 0){
$("#errors").html('<span style="background-color:red; color:#000000; border: 1px solid #800000; padding:3px 4px 3px 5px; ">Сообщение не должно мене 3х символов или быть бустым</span>');
} else if(data == 2){
$("#errors").html('<span style="background-color:red; color:#000000; border: 1px solid #800000; padding:3px 4px 3px 5px; ">Сообщение не должно привышать более 300 символов</span>');
}else{
$("#No_errors").html(data).show("slow");
$("#pole").val('');
}
},
error: function(xhr, str){
alert("Возникла ошибка!");
}
});
});
как мне сделать окна ошибок чтобы они плавно исчезали?
#152. Gemorroj Off (108)
Administrator
2015.08.21 09:09
у jquery есть функция delay.
в твоем случае, как-то так.
Код:
$("#errors").html('error').delay(5000).fadeOut("slow");
#153. despod Off (0)
Участник
2015.08.22 08:08
только теперь другая проблема
выводит норм только один раз
только я оповещаю о добавлении сообщения
Код:
$("#No_errors").html(data).delay(5000).fadeOut("slow");
пишу онлайн чат без перезагрузки вот полный код js

Код:
///запись в бд
$("input[type='submit']").click(function() {
var mess = $("#pole").serialize();
$.ajax({
type: "POST",
url: "post.php?total=add",
cache: false,
data: mess,
success: function(data) {
if(data == 1 || data == 0){
$("#errors").html('<span style="background-color:red; color:#000000; border: 1px solid #800000; padding:3px 4px 3px 5px; ">Сообщение не должно мене 3х символов или быть бустым</span>');
} else if(data == 2){
$("#errors").html('<span style="background-color:red; color:#000000; border: 1px solid #800000; padding:3px 4px 3px 5px; ">Сообщение не должно привышать более 300 символов</span>');
}else{
$("#No_errors").html(data).delay(5000).fadeOut("slow");
$("#pole").val('');
}
},
error: function(xhr, str){
alert("Возникла ошибка!");
}
});
});
});
////////обновление чата
setInterval(function(){
$.ajax({
type: "GET",
url: "post.php?total=item",
cache: false,
dataType : "text",
success: function(data) {
$(".blok_content").html(data);
},
error: function(xhr, str){
alert("Возникла ошибка!");
}
});
}, 200);
при успешном добавлении вылазеет сообщение что успешно отправлено
но когда я пишу повторно сообщение не вылазеет почему то вот сам пхп

Код:
function sql_insert($db,$zapros,$param){
//$sql = "INSERT INTO product (product_name) OUTPUT INSERTED.product_id VALUES (?)";
$sth = $db->prepare($zapros);
$sth->execute($param);
return $sth;
}
function sql($db, $sql){
$addprepare = $db -> query($sql);
return $addprepare;
}
$time = time();
$printText = isset($_POST['printText']) ? mysql_real_escape_string(trim($_POST['printText'])) : '';
 
$c = sql($db,"DELETE FROM `online_cht` WHERE `time` < ".($time - 600)."");
 
switch(isset($_GET['total']) ? trim($_GET['total']) : ''){
case 'item':
$x = sql($db,"SELECT * FROM `online_cht` ORDER BY time DESC");
if($x->rowCount() == 0){
echo 'Сообщений в базе нет';
}else{
while($r = $x->fetch(PDO::FETCH_ASSOC)) {
echo $r["name"].' '.$r['message']."<br/>";
}
}
break;
case 'add':
if($printText == ''){
echo 0;
}else {
if(mb_strlen($printText,'UTF-8')<3){
echo 1;
}else if(mb_strlen($printText,'UTF-8') > 300){
echo 2;
}else{
if(sql_insert($db,"INSERT INTO `online_cht` (id,name,message,time) VALUES (?,?,?,?)",array('1','test',$printText,$time))){
echo 'Сообщение успешно добавлено';
unset($printText);
}
}
}
break;
}
Вложения
chat.jpg 467kb {1427x812} [загрузок: 456]
Отредактировано despod (2015.08.22 09:09)
#154. Gemorroj Off (108)
Administrator
2015.08.22 09:09
fadeOut скрыл твой элемент $("#errors"). соответственно тебе его нужно заново сделать видимым. Например, через fadeIn.
Код:
$("#errors").html('error').fadeIn(400).delay(5000).fadeOut("slow");
#155. despod Off (0)
Участник
2015.09.26 09:09
как можно обновить страницу без перезагрузки , чтобы jquery и php код были на одной странице?
#156. Gemorroj Off (108)
Administrator
2015.09.26 15:03
через ajax
#157. despod Off (0)
Участник
2015.09.26 15:03
Вот если например в одном файле пхп код в другом аякс работает норм,  а вот в одном файле все вместе не работает
#158. TLENS Off (14)
Moderator
2015.10.06 07:07
despod мда, обьяснил. Я например ничего не понял.
Покажи код
#159. TLENS Off (14)
Moderator
2016.01.07 09:09
Решил написать функцию которая асинхронно будет подгружать спрайты, DOM, и еще пару вещей а по завершению выполнить один калбек. Но блин столкнулся с такой нелепой проблемой аж смешно
Никак не могу закинуть в асинхронную функцию число итератор из цыкла
Код:
this.async = function (fns, callback) {
var countFunction = 0
for (var k in fns) {
countFunction ++;
var i = k;
fns[k].fn(function (result) {
var j = k;
console.log(j, i, k);
fns[j].callback(result);
if (--countFunction < 1) {
callback();
}
});
}
}
в результате i, j, k равно одному и тому же
Когда то уже сталкивался с таким но вроде как то так решал эту задачу а сейчас не врубаюсь
Добавлено спустя   4 минуты  59 секунд:
Стоило только написать здесь как пришла еще одна мысль обернуть тело цыкла и на ура сработало. Блин долбил эту функцию более часа)
Код:
this.async = function (fns, callback) {
var countFunction = 0
for (var k in fns) {
(function () {
countFunction ++;
var i = k;
fns[k].fn(function (result) {
console.log(i);
fns[i].callback(result);
if (--countFunction < 1) {
callback();
}
});
})();
}
}
Страниц: 114 15 16 Все
Главная
WEB
PunBB Mod v0.6.1
0.111 s