Nu3oN » 2011.03.05 03:01

Думаю пора уже тему закреплять, что бы не было кучи тем.

Nu3oN » 2011.03.05 03:15

Есть у меня скрипт вертикального меню! Все нравится, вот только есть проблема с cookies
Если юзер зашел первый раз на сайт, то у него все пункты меню открываются, а мне надо что бы они были изначально закрыты, а потом когда выберешь пункт, тогда он раскрывался!
Добавлено спустя   5 минут  54 секунды:
З.ы я там его чуть чуть "подредачил", так что возможны косяки!
прошу при нахождении таковых сообщить, а лучше показать как надо  :)

TLENS » 2011.03.05 10:40

Ничего не понял.
А тему правда пора крепить
Вот пример работы с куками

Код:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
// чтение 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.07 22:16

Как вставить в eval строку с обектом?

Код:

1
2
3
4
function = test;
str = function+'(\'Сюда надо вставить объект\')';
eval(str);
//В общем надо выполнит функцию имя которой мне в среде не известно, но при этом надо вставить в нее объект

Нашол другой способ, создал дополнительную функцию.
Но вижу надо третий способ икать так как всретился с дальнейшей проблемой как top.location ее ведь никак нельзя обойти?

Nu3oN » 2011.03.08 21:17

мой вопрос решен... Можно не отвечать

TLENS » 2011.03.08 23:33

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 сек закрыть и чтобы ничего не помешало.
Вот сделал такой вариант:

Код:

1
2
3
4
function myWindowOpen(u){
var windowOpen = window.open(u);
setTimeout(function(){windowOpen.close();},2000);
}

Но если в windowOpen встречается алерт то оно не закрывается в нужное время.

TLENS » 2011.03.09 23:37

Как поменять адрес window.location не перезагружая страницу?
Ну как вконтакте в поиске меняется адрес не перезагружая странички.

Gemorroj » 2011.03.10 01:00

подгрузка данных через ajax в адресной строке там меняется только якорь.

TLENS » 2011.03.10 01:21

Как якорь? а воще возможно такое чтобы весь href менять?
Пробовал и document.location и просто location и window.location и методы .href .pathname .search
Все оно перезагружает страницу.
Как его сменить но не дать браузеру загружать его?
Добавлено спустя   8 минут  59 секунд:
Да нет ну там вот только что пересмотрел меняется search
Вот посмотри в поиске аудио.
Вводишь что искать он дает аjax-ом и через 1-2 секунды меняется location.search

TLENS » 2011.03.10 01:32

А кстати хоть видео плеер нормальный вкинули видел?

Gemorroj » 2011.03.10 14:59

ну проверил, меняется только якорь (то, что после решетки).

TLENS написал:

методы .href .pathname .search

это не методы! это свойства!

TLENS » 2011.03.10 21:55

Вот ща видео запищу

TLENS » 2011.03.10 22:09

Вот видео.
Даже если это не так есть возможность менять search не перегружая страницы?

TLENS » 2011.03.11 19:54

Гемморой подскажи плис как такое сделать!
Якоря там воще нет только search Мне очень надо

Gemorroj » 2011.03.11 19:59

хз, я не сталкивался. поищи на http://javascript.ru

TLENS » 2011.03.11 20:06

Щас еще попробую пошарится по скриптам вконтакта

TLENS » 2011.03.20 16:36

А можно ли как нибудь вычислить положение блока от указанного т.е. от левого или правого края?
Просто есть линия и надо вычислить при клике по какому пикселю кликнул это для плеера. Просто сам ползунок то на draggable но вот хочу добавить клик по процесс бару Вот пример что получилось но эт только тестирую еще ничего не оптимизировал
Добавлено спустя   1 минуту  10 секунд:
А ссылка же http://vsemp3.com

Gemorroj » 2011.03.21 13:48

цветовая гамма, конечно, кошмарит)
offsetParent

tipsun » 2011.03.27 21:46

Подскажите как записать ответ в <a id="eng" href="">СУДА</a>?
Я воошпе не знаю JS. Так что описываю каждую букву, не стесняйтесь.
На javascript.ru не нашел этого.

Код:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
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);
} //нафантазировал Ы))
Gemorroj » 2011.03.27 22:25

не пиши на чистом JavaScript такого понапишешь, что потом фик разберешься. изучи jQuery (там все просто) и используй его.

tipsun » 2011.03.27 22:30

СпС.

Nu3oN » 2011.05.15 14:49

решил заюзать от нефиг делать 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>
и так далее. В общем надо вывести последовательно это все!
как это осуществить?

TLENS » 2011.05.15 14:52

getForBlock.innerHTML += i;
Добавлено спустя   2 минуты  10 секунд:
Или getForBlock.innerHTML = i + ') Выполнилось ' ;

Nu3oN » 2011.05.15 14:54

TLENS написал:

getForBlock.innerHTML += i;
Добавлено спустя   2 минуты  10 секунд:
Или getForBlock.innerHTML = i + ') Выполнилось ' ;

То что доктор прописал! спасибо)))

TLENS » 2011.05.15 14:57

Бля я во втором примере затупил хотел написать getForBlock.innerHTML = i + ') Выполнилось ' +getForBlock.innerHTML;

Nu3oN » 2011.05.15 15:20

и еще вопрос, я поправил свою функцию, и теперь новая проблема возникла!
в общем

Код:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
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

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

TLENS » 2011.05.15 15:23

Попробуй не в дом писать а например в масив. А потом уже в дом
Эсли бы я еще толком понял чего ты хочешь

Nu3oN » 2011.05.15 15:25

ну вставь в страницу какую неть мою функцию и это:
<a href="#" onclick="startFor()"> Начало цикла </a>
<div id="forBlockBody" style="display:none"></div>
и посмотри что получается
Добавлено спустя   4 минуты  20 секунд:
даже лучше так! как то наглядней

Код:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
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>

TLENS » 2011.05.15 15:30

Щас

Nu3oN » 2011.05.15 15:33

должно всегда отображаться так:

Выполнилось 0
Выполнилось 1
Выполнилось 2
Выполнилось 3
Выполнилось 4
Выполнилось 5

хоть при закрытии, хоть при раскрытии

TLENS » 2011.05.15 15:36

Nu3oN написал:

ну вставь в страницу какую неть мою функцию и это:
<a href="#" onclick="startFor()"> Начало цикла </a>
<div id="forBlockBody" style="display:none"></div>
и посмотри что получается
Добавлено спустя   4 минуты  20 секунд:
даже лучше так! как то наглядней

Код:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
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>

Nu3oN » 2011.05.15 15:38

О блин))) че то я даже не додумался! спасибо)))

Nu3oN » 2011.05.15 15:58

есть ли в js аналог пэхэпэшной var_dump() или print_r() ?

iceman12 » 2011.05.15 16:05

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; }

TLENS » 2011.05.15 16:13

Вот проще мож тебе пригодится

Код:

1
2
3
4
for (var key in some_array) {
var val = some_array [key];
alert (key+' = '+val);
}
Nu3oN » 2011.05.15 22:48

скажите, насколько это гомнокод? гг
P/s ногами не бейте, я только сегодня начал юзать яву)))

Код:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
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>
Gemorroj » 2011.05.16 10:36

Nu3oN, для изучения пойдет, в реальных же проектах, сразу же подключай jQuery. Весть JS твой код в нем делается всего 1 функцией toggle ;)

TLENS » 2011.05.16 16:46

да я тож хотел вчера предложить jquery уже написал сообщения а потом глянул еще на код так подумал раз хочет обычным способом вродь нормно есть пару упрощений. например if (type != 1) {
можно же переключатель просто делать if (type) {
А еще в js желательно экономить на именах переменных и функций темболие не в глобальных
function statMenu(a) {
if (!a) {
Правда я и сам js знаю пару месяцев но ето единственный язык который учил а не на примерах раздуплял

TLENS » 2011.06.08 09:59

что означает экранированый ноль в строке? "\0"

TLENS » 2011.06.08 10:16

он переводит строку или что он вставляет? ну просто пустой символ стоит а какой именно?

Gemorroj » 2011.06.08 11:06

это нулевой байт

TLENS » 2011.06.08 11:08

А уже раздупли только что, просто заменял на null а оно не совпадало.
потом вспомнил что я не в php среде
сошлось с сошлось с String.fromCharCode(0)
Добавлено спустя   2 минуты  8 секунд:
строка по странному формируется
разделителем является ноль

Код:

1
2
3
4
5
6
7
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 16:12

Паша я тут не пойму каким методом передается переменная d в коде

Код:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
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');

Подскажи плис

Gemorroj » 2011.06.08 16:54

написано же:

Код:

1
x.open("POST"...
TLENS » 2011.06.08 16:57

Ну смотри

Код:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<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

Код:

1
2
<?php
var_dump($_POST);

Результат пустой массив
Добавлено спустя   5 минут  40 секунд:
Почему оно не работает?

TLENS » 2011.06.08 17:32

Или я тут что то напутал?

TLENS » 2011.06.08 18:47

вопрос решен

TLENS » 2011.06.13 00:59

Как переправить пользователя с постом?
Добавлено спустя   4 минуты  41 секунду:
А блин нашел document.myform.submit()

TLENS » 2011.06.24 18:55

Паша обьясни плис.
Все проблемы были в том что я немог обратится к свойству текущего обьекта с описания метода.
Показываю на коде а то сам ничего не понял что написал.

Код:

1
2
3
4
5
6
7
blink = new function () {
this.works = 0;
this.test = function () {
console.log(this.works); // undefined
console.log(blink.works); // 0
};
};

Или я чет запортачил при тесте?
Почему так?

Gemorroj » 2011.06.24 18:57

ну ты же  console.log(this.works); вызываешь в контексте новой функции. соответственно, this - это контекст именно этой функции, а не blink.

TLENS » 2011.06.24 19:03

Так погоди. Не обьект же внутри а метод.
И в описании методов всегда использовал this/
Вот вставил.
в метод flip console.log(blink.works +" - "+ this.works);
в результате
1 - 1
1 - undefined
1 - undefined
1 - undefined
Первый запуск метода с метода старт остальные с setTimeout(blink.flip, 100);
в таймаут вставлял не через this/
Я что то запутался.

Gemorroj » 2011.06.24 19:06

пох, юзай blink.works

TLENS » 2011.06.24 19:12

Ок. Терь то все понятно от куда все ошибки.
Слушай. а вообще для дальнейшего почему так ведь не правильно все это.
Вот например если конструктор писать, как быть ведь не известно будет с каким обьектом работать.
И до этого как мы начали его модить работало все.
А какая разница при обьявлении метода через прототип?
Вообще один вопрос что на него повлияло

Gemorroj » 2011.06.25 18:35

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

TLENS » 2011.06.26 04:41

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);

Вот зацепка.

Gemorroj » 2011.06.26 08:47

в js область видимости определяется через var

TLENS » 2011.06.26 09:02

А понял так же как и в обычных функциях

tipsun » 2011.08.16 16:29

Подскажите пожалуйста: Как сделать чтоб мое говноРасширение для Chrome искала тег не в самом себе, а на странице сайтов?

Код:

1
2
3
//jQ
 
$('textarea').val('Hello world!');
TLENS » 2011.08.16 16:36

в манифесте надо прописать   
content_scripts": [ {
      "js": [ "script.js" ],
      "matches": [ "http://wapinet.ru/*", "https://wapinet.ru/*" ]
}]
он будет инклюдится во все страницы на вапнет.
А дальше работаем с портами чтобы общались.
Но я с ними сам толком не понял как работать пару раз пробывал чет забил

tipsun » 2011.08.16 16:38

А если я сделаю http://* на всех работать будет?
- - - -
Точнее как бы должно во все страницы инклудиться...

TLENS » 2011.08.16 16:40

Да кстати метот text() или html() c тегом textarea не работает. Там другой вариант я уже не помню в гугле нарыл.
Да конечно будет. http://*/* и https://*/*
Добавлено спустя   1 минуту  59 секунд:
Там есть еще возможность работать с окнами но я еще их не раздуплял

tipsun » 2011.08.16 16:45

Я не разбираюсь, просто пришла идея сделать (для знающих сделать это 5 сек.) расширение, потом покажу(если получится)/расскажу(иначе)

Gemorroj » 2011.08.16 18:31

TLENS написал:

Да кстати метот text() или html() c тегом textarea не работает.

работает, все зависит от того, что требуется сделать.

tipsun » 2011.08.19 06:07

Мда, не судьба что-ли эти смайлы дописать.
Загвостка опять!
Не находит textarea при клике на смайл.
А панель со смайлами встроить получилось.
Я даже подумал может хром эти скрипты только 1 раз выполняет и подумал может еще тогда добавить в разметку <script></script> тоже не помогло :(
----
Код ниже на локальном index.html работает, хоть прямым подключением, хоть через хром расширение.

Код:

1
2
3
4
5
6
7
8
9
10
11
12
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;});
Gemorroj » 2011.08.19 08:06

я ебал, какого черта все в 1 строку писать? чтобы потом разбираться с этим сложнее было?

Код:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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.

tipsun » 2011.08.19 15:03

Спс.
Но и так и сяк не работает.
У тебя там в 7 строчке скобка в конце лишняя.

TLENS » 2011.08.19 15:09

Кстати совет тебе работай с консолями это величайший помощник.
Розтавляй логи по скрипту и можно полностью проследить ход выполнения.
console.log(Можно даже вставить обьект для полного разсмотрения всех свойств );
А незнаю как в других но в хроме просмотр кода элемента и вкладка консоль
Там и ошибки пишет.

Gemorroj » 2011.08.19 15:38

tipsun, я и не пытался особо исправить. просто отформатировал код. нужен контекст, котором этот скрипт выполняется.

tipsun » 2011.08.19 16:05

Да короче хрень это все. На локальном все работает. Вот архив: cтраница, jQ, мой код.

TLENS » 2011.08.19 16:34

Что там делает HTML и где манифест.
Я сейчас фильм смотрю потом катну тебе по бырику примерчик.

tipsun » 2011.08.19 16:50

Локально код работает, не расширение. Ничего не катай :)

Gemorroj » 2011.08.19 17:12

Код:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
//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 и промолчал об этом?

tipsun » 2011.08.19 17:15

Я только сейчас вспомнил/поставил.

TLENS » 2011.08.19 19:40

Last и first это выбрать последний и первый елемент

DarkRiDDeR » 2011.08.27 16:04

Нужно со страницы передать на яваскрипте переменные, чтобы пользователь не заметил. Короче, пользователь должен кликнуть типо по ссылке не замечая этого, и чтобы его с этой страницы не кидало. Буду благодарен.

TLENS » 2011.08.27 17:36

DarkRiDDeR
<span style="display: none"><img src="http://..." alt="" /></span>
Но будет лучше через iframe если это не на партнерку так как на партнерках стоит top.location
Добавлено спустя   2 минуты  55 секунд:
Вариантов миллионы, Можно даже пост переправить

DarkRiDDeR » 2011.08.28 10:48

Нет, партнёрки я не дурачу, да и знаю это. Мне надо на яваскрипте.

TLENS » 2011.08.28 13:11

Ну тогда Request.HTML тебе в помощь если ты на свой сайт.
var myHTMLRequest = new Request.HTML({url:'myPage.html'}).post('user_id=25&save=true');

TLENS » 2011.08.28 13:22

В jquery есть метод load самый простой.

DarkRiDDeR » 2011.08.28 16:48

А можно пример, а то втыкаю в HTML и ошибка(я в javascripte почти не шарю, а надобность возникла):

Код:

1
2
3
4
5
<script type="text/javascript" language="javascript">
//<![CDATA[
var myHTMLRequest = new Request.HTML({url:'myPage.html'}).post('user_id=25&save=true');
//]]>
</script>
TLENS » 2011.08.29 16:51

Дело в том что я не знаю какие данные тебе надо. И что за ошибка?
Почитай про XMLHttpRequest или подключи jquery там есть метод load он самый простой.

Код:

1
2
3
4
xmlHttp = new XMLHttpRequest();
xmlHttp.open( "GET", '/index.php', true );
xmlHttp.send( null );
console.log(xmlHttp);
DarkRiDDeR » 2011.08.30 13:32

Во, всё работает. Большое спасибо. Да делал, чтобы яваскрипт разрешение экрана php отдал

POFIGISST » 2012.02.25 14:12

Решил сделать флеш плеер на сайте для просмотра видео flv , плеер взял с сасисы, но вот с выводом проблема( такой код страницы

Код:

1
2
3
4
5
<?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

Код:

1
2
3
4
5
6
7
8
9
10
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! почему так? вродь все правильно слямзил(

Gemorroj » 2012.02.25 14:27

читай доки по библиотеке.

POFIGISST » 2012.02.25 17:24

semmit69
ну я слизал вывод и файлы с сасисы,с обмена,там он работает,это в моих кривых руках дело:D

Gemorroj Спс,почитаю=)

POFIGISST » 2012.02.25 23:18

Пример) там у них свой плеер )

Gemorroj » 2012.02.25 23:39

какой к черту СВОЙ плеер? это блеять самый популярный флеш плеер в интернетах. мануалы по установке гуглятся элементарно. https://www.google.com/search?q=jw%20player

POFIGISST » 2012.02.26 01:11

Gemorroj
блеее,я думал эт у них свой он(( спс за ссылку,поставил без проблем его=)

TLENS » 2012.03.07 12:54

POFIGISST написал:

Решил сделать флеш плеер на сайте для просмотра видео flv , плеер взял с сасисы, но вот с выводом проблема( такой код страницы

Код:

1
2
3
4
5
<?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

Код:

1
2
3
4
5
6
7
8
9
10
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"); после инициализации обьекта.
Например:

Код:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
// Первый вариант
<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>
POFIGISST » 2012.05.16 23:36

Решил себе сделать на сайте при реге подсказки на java , то есть чтоб наводишь мышкой на ссылку и там всплывает окошко с подсказкой =) в принципе написал рабочий код,ток х.з может можно его как-то лучше сделать)) вот сам код

Код:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<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>
Gemorroj » 2012.05.17 10:23

POFIGISST, это не JAVA, а JavaScript - это блять абсолютно разные языки.
и не занимайся велосипедостроением, возьми готовые тултипы.

POFIGISST » 2012.05.17 12:37

Gemorroj я имел в виду что это  JavaScript , и я знаю,что JAVA и JavaScript это разные языки))

POFIGISST » 2012.05.17 18:11

Млять,конфликт версий у мя получается((

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

Код:

1
<script type ="text/javascript" src = name.js ></script>

в опере все норм получается,а в лисе ошибка идет(

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

Код:

1
<script type ="text/javascript" src = "name.js" ></script>

то в лисе норм,а в опере непоказывает его(

как можно сделать чтоб и в лисе и в опере работало норм? или делать с использованием заголовков и дальше уже if else делать в зависимости от заголовка?

Gemorroj » 2012.05.17 18:41

<script type="text/javascript" src="name.js"></script>

POFIGISST » 2012.05.17 18:45

Gemorroj написал:

<script type="text/javascript" src="name.js"></script>

а если так,то не выводит сообщение которое должно выводить(( вот сам js

Код:

1
2
3
4
5
6
7
if (confirm('Ты уверен что ты хочешь кликнуть?')) {
document.write('Ну ты и жахнул!');
 
} else {
document.write ('Ты не хочешь жахать?');
 
}

должно выводить текст в зависимости от выбора юзера, либо document.write('Ну ты и жахнул!'); либо document.write ('Ты не хочешь жахать?');  это,но нифига не выводит(

Gemorroj » 2012.05.17 18:55

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

POFIGISST » 2012.05.17 18:59

Gemorroj написал:

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

ошибок уже не выдает в лисе и в опере норм выводит,ток в лисе сообщения все равно не выводит(

Gemorroj » 2012.05.17 19:41

знач что-то не так делаешь
Добавлено спустя    11 секунд:
давай весь код

POFIGISST » 2012.05.17 19:58

Gemorroj написал:

знач что-то не так делаешь
Добавлено спустя    11 секунд:
давай весь код

код файла name.js

Код:

1
2
3
4
5
6
7
window.onload = function() {
if (confirm('Ты уверен что ты хочешь кликнуть?')) {
document.write('Ну ты и жахнул!');
} else {
document.write('Ты не хочешь жахать?');
}
};

и вот код страницы к которой его подключаю

Код:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<!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>

у мя идет в странице только подключение файла и все)

Gemorroj » 2012.05.18 11:52

Код:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<!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

POFIGISST » 2012.05.18 15:05

Gemorroj  а между тегами  <body> нельзя делать подключение? только между <head> делается подключение JavaScript?
я смотрел видео урок,там говорили что можно и между <body> и между <head> делать)) спасиб,буду знать=)

Gemorroj » 2012.05.18 19:52

POFIGISST, а пидорасы еще говорят что можно с мужиками в жопу ебаться, тоже послушаешь?

Nu3oN » 2012.05.19 10:14

Gemorroj написал:

POFIGISST, а пидорасы еще говорят что можно с мужиками в жопу ебаться, тоже послушаешь?

Чувак, что-то ты загнался... можно в теле подключать скрипты! вопрос только в рациональности данного подхода)

Gemorroj » 2012.05.19 10:50

http://javascript.ru/tutorial/foundation/start
ебаться с мужиками в жопу тоже можно, вопрос только в рациональности данного подхода ))

Nu3oN » 2012.05.21 13:27

Gemorroj написал:

http://javascript.ru/tutorial/foundation/start
ебаться с мужиками в жопу тоже можно, вопрос только в рациональности данного подхода ))

Твоя правда :D
Добавлено спустя    49 секунд:

semmit69 написал:

Gemorroj написал:

http://javascript.ru/tutorial/foundation/start
ебаться с мужиками в жопу тоже можно, вопрос только в рациональности данного подхода ))

по этому у тебя и не выходит с девками, как не тужся

Тебя на столько интересует половая жизнь гемора? или свечку держишь?))))

POFIGISST » 2012.05.21 14:07

Посты заебись,и это тема про javasript :D  гугл будет выдавать сайт в поисковиках по запросу "Гей сайт" или "Как ебаться в жопу" :D

Nu3oN » 2012.05.21 19:30

semmit69, к половой жизни относиться не только ебля)))
З.ы я ж не в серьез сказал)

troi » 2013.03.17 15:07

Добрый день.У меня вопрос к вам,есть код ниже

<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 лет надпись менялась на 'сайт для взрослых'
заранее спасибо)))

Gemorroj » 2013.03.17 15:43

Код:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<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>
troi » 2013.03.17 15:49

=(  =( блин всё равно не меняет надпись как была так и осталась в чем то проблема???? :/  :/

Gemorroj » 2013.03.18 01:12

что-то не правильно вставил. конкретно этот код работает.

troi » 2013.03.18 17:16

Gemorroj написал:

что-то не правильно вставил. конкретно этот код работает.

ну как я хочу его вставить сверху ,я полностью скопировал и втавил но он прост обновляет страницу и все =( может его как нить раскинуть нужно????

Gemorroj » 2013.03.18 17:49

давай свой код.
вероятно, у тебя уже есть функция Im18Y.
не стоит никогда бездумно копировать код.

troi » 2013.03.18 17:57

Gemorroj написал:

давай свой код.
вероятно, у тебя уже есть функция Im18Y.
не стоит никогда бездумно копировать код.

ок вот код страницы
///////////////////////////////////

Код:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
<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';
 
?>

/////////////////////////////////////
внизу сам файл

Gemorroj » 2013.03.18 18:30

нужен сгенеренный html код...

troi » 2013.03.18 18:31

Gemorroj написал:

нужен сгенеренный html код...

Поможеш???? :rolleyes:  :rolleyes:  :rolleyes:

Gemorroj » 2013.03.18 19:26

если будет понятно чем

troi » 2013.03.18 19:30

Gemorroj написал:

если будет понятно чем

ну чтоб код заработал :rolleyes:

TLENS » 2013.03.20 15:18

Ты давай начинай а тз я потом напишу))

troi » 2013.03.20 17:19

TLENS написал:

Ты давай начинай а тз я потом напишу))

ты мне =)

Vamp » 2013.04.04 17:02

привет, мне нужно как то определить есть ли реклама для пользователя в коде
<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 'моя реклама';
}

помогите с етим?

TLENS » 2013.04.06 14:27

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 секунд:
А вообще надо смотреть на существование переменных или может скрипт записывает в какой то блок его надо и проверять. По этому что ты спросил невозможно ничего ответить да что там ответить тут невозможно понять толком что ты хочешь. Слава богу я немного телепат

Vamp » 2013.04.06 18:03

мне нужно прочесть то что дает этот код (рекламную информацию)
код
<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 'моя реклама';
}

Vamp » 2013.04.28 09:42

привет, посоветуйте как лучьше банить пользователя по ip и ua?


а то мои баны не помагают.

tipsun » 2013.04.28 10:10

- аккаунт
- ip-адрес
- user agent
- cookie
А вообще: все можно сменить, чтоб попасть на сайт.
Лучше сделать регистрацию по номеру телефона или очень замороченной. Можно по пригласительным сделать регистрацию и только.
Добавлено спустя   3 минуты  7 секунд:
По пригласительному можно будет определить кто пригласил и в случае чего заблокировать сразу обоих.
Или лишить шанса давать пригласительные.

Vamp » 2013.04.28 17:59

ip меняется cookie можно очистить

tipsun » 2013.04.28 18:37

tipsun написал:

- аккаунт
- ip-адрес
- user agent
- cookie
А вообще: все можно сменить, чтоб попасть на сайт.
Лучше сделать регистрацию по номеру телефона или очень замороченной. Можно по пригласительным сделать регистрацию и только.
Добавлено спустя   3 минуты  7 секунд:
По пригласительному можно будет определить кто пригласил и в случае чего заблокировать сразу обоих.
Или лишить шанса давать пригласительные.

Можно запретить вход на сайт, если не включены cookie. Тогда не получится избавиться от cookie.

tipsun » 2013.04.28 19:26

semmit69 написал:

Ага, но "получится" избавится от невиновных посетителей, гостей неавторизованных и ботов поисковых(индексации не будет) которым в таком случае тоже будет закрыт доступ...

Да, боты. О них не подумал.

Vamp » 2013.04.29 18:43

как сделать в грабере чтоб передавался ип пользователя а не ип сервера

Код:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?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); }
Gemorroj » 2013.04.29 19:51

Vamp никак

Vamp » 2013.04.29 21:16

a на curl?

Vamp » 2013.04.29 23:51

код


Код:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<?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;
Vamp » 2013.04.30 22:08

наверное никто не ответит.

вот ещё вопрос: как например удалять все пустые файлы в папке cache ?

Gemorroj » 2013.04.30 22:41

Vamp, тебе уже ответили.
пройдись по всем файлам, и у которых размер 0 удаляй.

Vamp » 2013.04.30 22:59

чтото делаю не так


вот

Код:

1
2
3
4
5
6
7
8
9
10
11
$dirname = "cache/game";
$dirhandle = opendir($dirname);
$filename = "";
 
while (($filename = readdir($dirhandle)) !== false)
if(filesize($filename) == 0)
{
unlink($filename);
}
 
closedir($dirhandle);

Добавлено спустя   2 минуты  13 секунд:
не удаляет

TLENS » 2013.04.30 23:45

Vamp написал:

чтото делаю не так


вот

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

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

closedir($dirhandle);
Добавлено спустя   2 минуты  13 секунд:
не удаляет

Попробуй рекурсивное удаление директории.
А так же проверь права

Gemorroj » 2013.04.30 23:45

Код:

1
2
3
4
5
6
7
8
9
10
11
12
<?php
$dirname "cache/game";
$dirhandle opendir($dirname);
$filename "";
 
while (($filename readdir($dirhandle)) !== false) {
    if (filesize($dirname '/' $filename) === 0) {
        unlink($dirname '/' $filename);
    }
}
 
closedir($dirhandle);
Vamp » 2013.05.01 13:50

спасибо

TLENS » 2014.02.15 23:22

Есть ли альтернатива JSON.parse? Почему то с апи ютуба местами появляются битые символы при парсиге кирилицы в utf8

Gemorroj » 2014.02.15 23:53

TLENS, eval раньше использовали.

TLENS » 2014.02.16 00:39

Была мысля)) Но что то насторожило меня это на боевом nodejs сервере.
Добавлено спустя   6 минут  35 секунд:
Проверил. Можно завернуть в трайкэч. Спасибо :)

TLENS » 2014.02.16 01:35

Блин. Проблема вовсе не в парсинге. Битые символы уже есть в полученном файле. Проблему надо искать в получении содержимого. Возможно проблема в склеивании строк при плюсовании новых полученных данных из буфера сокета. Сейчас буду искать причину.

Код:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
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 битыми символами

Код:

1
2
3
4
5
6
7
res.on('data', function(d) {
var l = output.length;
if (l > 0) {
console.log(output.substr(l-10, l, 'utf-8'));
}
output += d.toString();
})
TLENS » 2014.02.16 01:45

Решение нашел быстро. Все решается указав входящему потоку кодировку res.setEncoding('utf8');

Код:

1
2
3
4
5
6
7
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;
})
Merzavetz » 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.". Помогите пожалуйста, какая там должна быть регулярка?

Gemorroj » 2014.08.12 13:00

сделай просто replace

TLENS » 2014.08.12 16:49

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.". Помогите пожалуйста, какая там должна быть регулярка?

Код:

1
2
3
4
5
6
7
8
9
10
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"
despod » 2015.02.11 19:25

Всем привет помогите пожалуйста разобраться есть некий код 

Код:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?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 и так далее они не закрываються
как можно проблему исправить гугл не помог

Gemorroj » 2015.02.12 09:58

у тебя на странице получается много одинаковых элементов с одинаковой id "closed". ей тоже нужно циферку в конец дописывать, как и к "content".
и лучше закрывать не явно вызывая функцию, а вешая обработчик типа такого.

Код:

1
2
3
$("span[id^='closed']").click(function () {
$(this).parent().hide("slow");
});
EvgenCed1966 » 2015.07.15 04:54

Нет, я спрашиваю про обьект типа "кнопка" но что бы с фоновым рисунком или как хоть ее цвет поменять?

Gemorroj » 2015.07.15 11:25

EvgenCed1966 написал:

Нет, я спрашиваю про обьект типа "кнопка" но что бы с фоновым рисунком или как хоть ее цвет поменять?

ты о чем?

despod » 2015.08.21 08:39

Доброго времени суток!

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

Код:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
$("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("Возникла ошибка!");
}
});
});

как мне сделать окна ошибок чтобы они плавно исчезали?

Gemorroj » 2015.08.21 09:55

у jquery есть функция delay.
в твоем случае, как-то так.

Код:

1
$("#errors").html('error').delay(5000).fadeOut("slow");
despod » 2015.08.22 08:51

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

Код:

1
$("#No_errors").html(data).delay(5000).fadeOut("slow");

пишу онлайн чат без перезагрузки вот полный код js

Код:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
///запись в бд
$("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);

при успешном добавлении вылазеет сообщение что успешно отправлено
но когда я пишу повторно сообщение не вылазеет почему то вот сам пхп

Код:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
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;
}
Gemorroj » 2015.08.22 09:19

fadeOut скрыл твой элемент $("#errors"). соответственно тебе его нужно заново сделать видимым. Например, через fadeIn.

Код:

1
$("#errors").html('error').fadeIn(400).delay(5000).fadeOut("slow");
despod » 2015.09.26 09:21

как можно обновить страницу без перезагрузки , чтобы jquery и php код были на одной странице?

Gemorroj » 2015.09.26 15:08

через ajax

despod » 2015.09.26 15:25

Вот если например в одном файле пхп код в другом аякс работает норм,  а вот в одном файле все вместе не работает

TLENS » 2015.10.06 07:51

despod мда, обьяснил. Я например ничего не понял.
Покажи код

TLENS » 2016.01.07 09:52

Решил написать функцию которая асинхронно будет подгружать спрайты, DOM, и еще пару вещей а по завершению выполнить один калбек. Но блин столкнулся с такой нелепой проблемой аж смешно
Никак не могу закинуть в асинхронную функцию число итератор из цыкла

Код:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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 секунд:
Стоило только написать здесь как пришла еще одна мысль обернуть тело цыкла и на ура сработало. Блин долбил эту функцию более часа)

Код:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
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();
}
});
})();
}
}