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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Поясните код 
V
    Опции темы
n199a
  Дата 6.4.2015, 12:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Наткнулся на такой кусок кода.
Код

function addNewTab(tab) {
    var re = /^(http:|https:)/;
    if (re.test(tab.url)) {
        if(cutteZ(tab)){
            var insertThis = tab.url+"|!|";
            insertThis += tab.title;
            localStorage["TabList-"+tab.id] = insertThis;
            var tabListIndex = JSON.parse(localStorage.TabListIndex);
            if(tabListIndex.indexOf(tab.id)==-1) {tabListIndex.push(tab.id);
            localStorage.TabListIndex = JSON.stringify(tabListIndex);}
        }
    }
}

function cutteZ(tab){
    var pass = false;
    var inList = localStorage["TabList-"+tab.id];
    if(inList===undefined||inList&&(inList.split("|!|")[0]!==tab.url||(inList.split("|!|")[0]===tab.url&&inList.split("|!|")[1]!==tab.title))) pass = true;
    return pass;
}

Функцию addNewTab() вызывает API chrome.tabs.query():
Код

function wer(){
    chrome.tabs.query({"url":"*://*/*"}, function(tabs) {
        for(var t = 0; t < tabs.length; t++){    
            addNewTab(tabs[t]);
        }
    });

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


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3433
Регистрация: 5.12.2007
Где: Москва

Репутация: 2
Всего: 101



коряво добавляет в localStorage информацию о закладках chrome
PM MAIL   Вверх
n199a
Дата 6.4.2015, 12:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Цитата(baldina @  6.4.2015,  12:43 Найти цитируемый пост)
коряво добавляет в localStorage информацию о закладках chrome 

Это да. Хотелось бы узнать развернутый комментарий. Что, куда, последовательность действий.
PM MAIL   Вверх
baldina
Дата 6.4.2015, 13:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3433
Регистрация: 5.12.2007
Где: Москва

Репутация: 2
Всего: 101



а что именно непонятно? или вы ожидаете ответа в стиле
Цитата

var re = /^(http:|https:)/;
определяет регулярное выражение такое, что...

и так про каждую строчку?
PM MAIL   Вверх
n199a
Дата 6.4.2015, 13:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Цитата(baldina @  6.4.2015,  13:05 Найти цитируемый пост)
а что именно непонятно? или вы ожидаете ответа в стиле
Цитата

var re = /^(http:|https:)/;
определяет регулярное выражение такое, что...

и так про каждую строчку? 

Моя вина. Не полностью сформулировал вопрос.
Хотелось бы пояснения к следующим строкам:

Код

1) var re = /^(http:|https:)/;
2) var insertThis = tab.url+"|!|";
3) var inList = localStorage["TabList-"+tab.id];

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


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3433
Регистрация: 5.12.2007
Где: Москва

Репутация: 2
Всего: 101



Цитата(n199a @  6.4.2015,  13:27 Найти цитируемый пост)
var re = /^(http:|https:)/;

регулярное выражение, соответствующее строкам начинающимся с "http" или "https"

Цитата(n199a @  6.4.2015,  13:27 Найти цитируемый пост)
var insertThis = tab.url+"|!|";

insertThis инициализируется значением, полученным в результате конкатенации строк tab.url и "|!|". автор использует |!| в качестве разделителя данных, т.к. в localStorage хранятся только строки

Цитата(n199a @  6.4.2015,  13:27 Найти цитируемый пост)
var inList = localStorage["TabList-"+tab.id];

inList инициализируется значением из localStorage, соответствующим ключу "TabList-"+tab.id (например "TabList-1", "TabList-2" и т.д.)

Добавлено через 3 минуты и 50 секунд
см. http://javascript.ru/tutorial/foundation/s...e#osnovnye-tipy
http://javascript.ru/basic/regular-expression
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: для новичков | Следующая тема »


 




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


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

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