#141 2014.02.16 00:39

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Вопрос-Ответ по JavaScript

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

Неактивен

#142 2014.02.16 01:35

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Вопрос-Ответ по JavaScript

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

Код:

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

Неактивен

#143 2014.02.16 01:45

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Вопрос-Ответ по JavaScript

Решение нашел быстро. Все решается указав входящему потоку кодировку 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;
})

Неактивен

#144 2014.08.12 09:09

Merzavetz
Участник
Зарегистрирован: 2012.06.23
Сообщений: 10
Карма: 1
Профиль

Re: Вопрос-Ответ по JavaScript

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 2014.08.12 13:00

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6594
Карма: 107
Профиль Веб-сайт

Re: Вопрос-Ответ по JavaScript

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

Активен

#146 2014.08.12 16:49

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Вопрос-Ответ по JavaScript

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"

Неактивен

#147 2015.02.11 19:25

despod
Участник
Откуда: Россия
Зарегистрирован: 2010.03.18
Сообщений: 75
Карма: 0
Профиль

Re: Вопрос-Ответ по JavaScript

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

Код:

1
span style="color: #0000BB"><?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:31)

Неактивен

#148 2015.02.12 09:58

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6594
Карма: 107
Профиль Веб-сайт

Re: Вопрос-Ответ по JavaScript

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

Код:

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

Активен

#149 2015.07.15 04:54

EvgenCed1966
Участник
Откуда: Украина
Зарегистрирован: 2015.07.01
Сообщений: 2
Карма: 0
Профиль

Re: Вопрос-Ответ по JavaScript

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

Неактивен

#150 2015.07.15 11:25

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6594
Карма: 107
Профиль Веб-сайт

Re: Вопрос-Ответ по JavaScript

EvgenCed1966 написал:

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

ты о чем?

Активен

Дополнительно

forum.wapinet.ru

PunBB Mod v0.6.2
0.012 s