Страниц: 1 ... 16 17 [18] 19 20 ... 98   Вниз
  Отправить эту тему    Печать  
Автор Тема: Content Master v. 0.ХХ - расширение HC для очистки страниц от рекламы  (Прочитано 889224 раз)
0 Пользователей и 1 Гость смотрят эту тему.
mai62
Автор HC
*****

Репутация: +226/-4
Offline Offline

Сообщений: 6383


« Ответ #340 : 12 декабря 2009, 02:42:09 »

Fernand
Включи ведение лога (кнопка Вести лог справа от монитора), перейди на вкладку Расширения, Выдели СМ нажми кнопку Перечитать расширения. Покажи содержимое лога.
Сообщить модератору   Записан
Михаил
Модератор
*****

Репутация: +337/-14
Offline Offline

Сообщений: 5513



« Ответ #341 : 12 декабря 2009, 07:37:12 »

Fernand
Вероятно, это баг СМ, попробовал исправить... Нужно обновиться.

Версия 0.42
[ - ] HandyCache: если в правилах Черного/Белого списков содержался символ '%' с последующей цифрой, то СМ не работал
Сообщить модератору   Записан
Fernand
Пользователь
**

Репутация: +0/-0
Offline Offline

Сообщений: 65


« Ответ #342 : 12 декабря 2009, 10:16:31 »

mai62, содержимое лога:
Цитировать
12.12.09 17:12:51,898 # Content Master "destroy" ERROR:
[string "--[[ <HCExtension>..."]:939: bad argument #1 to 'concat' (table expected, got nil)

12.12.09 17:12:51,912 # Content Master "init" ERROR:
cannot open F:\Distributive\progs\non_install\HandyCache\Extensions\Content_Master\CM_Lists.txt: No such file or directory
Михаил, ничего не изменилось, кроме версии (окошко с ней открывается).
mai62, перезапустил HC, повторил "перечитать":
Цитировать
12.12.09 17:18:06,925 # Content Master "destroy" ERROR:
[string "--[[ <HCExtension>..."]:926: attempt to index global '_CM_' (a nil value)

12.12.09 17:18:06,936 # Content Master "init" ERROR:
cannot open F:\Distributive\progs\non_install\HandyCache\Extensions\Content_Master\CM_Lists.txt: No such file or directory
« Последнее редактирование: 12 декабря 2009, 10:21:24 от Fernand » Сообщить модератору   Записан
mai62
Автор HC
*****

Репутация: +226/-4
Offline Offline

Сообщений: 6383


« Ответ #343 : 12 декабря 2009, 10:38:42 »

Fernand
Спасибо. Думаю эта информация поможет Михаилу исправить расширение.
Сообщить модератору   Записан
Михаил
Модератор
*****

Репутация: +337/-14
Offline Offline

Сообщений: 5513



« Ответ #344 : 12 декабря 2009, 11:30:16 »

Это я ошибочно не тот файл Content_Master.lua выложил. Он вообще ни у кого работать не будет, только у меня в экспериментальной среде. Надо откатиться на СМ 0.41 и переобновиться...
Сообщить модератору   Записан
Fernand
Пользователь
**

Репутация: +0/-0
Offline Offline

Сообщений: 65


« Ответ #345 : 12 декабря 2009, 11:47:36 »

После обновления любой запуск HC или "перечитать СM" сопровождается

а открытие любой страницы
Сообщить модератору   Записан
Михаил
Модератор
*****

Репутация: +337/-14
Offline Offline

Сообщений: 5513



« Ответ #346 : 12 декабря 2009, 11:55:11 »

Цитировать
После обновления любой запуск HC или "перечитать СM" сопровождается
Пишет, что нет файла AdMuncher_Default.txt. Он лежал в папке Extensions\Content_Master в дистрибутиве НС версии 1.0.0.252. Новая версия НС устанавливалась?
Сообщить модератору   Записан
Fernand
Пользователь
**

Репутация: +0/-0
Offline Offline

Сообщений: 65


« Ответ #347 : 12 декабря 2009, 12:11:57 »

Михаил, - да, устанавливалась.
Вы правы - откат делал полной директорией, а в обновление было только lua - восстановил файлы новой версии, обновил - работает.
Спасибо.
зы. Но сообщение на каждой, вновь открывающейся странице имеет место быть
Сообщить модератору   Записан
Михаил
Модератор
*****

Репутация: +337/-14
Offline Offline

Сообщений: 5513



« Ответ #348 : 12 декабря 2009, 12:20:07 »

Если отключить в настройках СМ "Правила HandyCache", то окошко исчезает?
Кинь, плиз, Черный и Белый списки НС (файлы black.lst и white.lst). Попробую воспроизвести у себя.
Сообщить модератору   Записан
Михаил
Модератор
*****

Репутация: +337/-14
Offline Offline

Сообщений: 5513



« Ответ #349 : 12 декабря 2009, 13:32:09 »

Fernand
Сорри, конечно, но придется снова переобновиться. Причина была в LUA (или в моем недопонимании одного момента работы LUA). В результате все правила, написанные в простой форме (начинающиеся с символа '+'), после исправления последнего бага перестали работать. У меня нет ни одного такого правила, вот и не увидел сразу.
Спасибо за отклик.
Сообщить модератору   Записан
Fernand
Пользователь
**

Репутация: +0/-0
Offline Offline

Сообщений: 65


« Ответ #350 : 12 декабря 2009, 14:04:30 »

Все отлично.
Спасибо.
Сообщить модератору   Записан
uoziod
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 1


« Ответ #351 : 13 декабря 2009, 14:33:51 »

Вы уж простите если я уже стопицотый человек об этом спрашивавший... Однако: есть (будет потом) какой-нибудь способ отключать работу расширения на определённых сайтах? Помнится в лисице был вариант сказать Adblock'у, мол "на этом сайте всё нужное"... Вот что-то из этой серии бы...

Пробовал добавлять в белый список: понятное дело не катит...
Сообщить модератору   Записан
DenZzz
Модератор
*****

Репутация: +179/-11
Offline Offline

Сообщений: 5589



« Ответ #352 : 13 декабря 2009, 14:54:08 »

Однако: есть (будет потом) какой-нибудь способ отключать работу расширения на определённых сайтах?

Давно есть! В настройки расширения загляни...
Сообщить модератору   Записан
IVAn Dealer
Пользователь
**

Репутация: +1/-1
Offline Offline

Сообщений: 55


« Ответ #353 : 16 декабря 2009, 20:10:55 »

Михаил, когда будет устранён "сдвиг" вправо на yandex.ru ? на сайте vkontakte.ru при попытке перейти на другую страницу комментариев или чего ещё другого не происходит перехода (вроде как блокируется javascripts) и это из-за СМ происходит
« Последнее редактирование: 16 декабря 2009, 20:30:15 от IVAn Dealer » Сообщить модератору   Записан
gp_handy
Новичок
*

Репутация: +1/-0
Offline Offline

Сообщений: 9


« Ответ #354 : 20 декабря 2009, 07:15:15 »

Content_master вырезает на страницах сайта http://softkey.ru (CMS Битрикс) кашерный скрипт.
после того, как в content_master.lua закомментировал :
-- String\.fromCharCode|document\.write\(unescape скрипт вырезаться перестал.

скрипт такой:
Код:
content_master.log:

ПРАВИЛО: Правила Content Master / Удаление в скриптах по ключевым словам (СМ)

ФРАГМЕНТ:
<script type="text/javascript">
// метод Array.push()
if(Array.prototype.push==null){Array.prototype.push=function(item){this[this.length]=item;return this.length;}}
// регистрирует обработчик, вызываемый при открытии страницы
var _LoadCall=new Array();
function registerLoader(name){_LoadCall.push(name);}
function _callLoaders(){for(var i=0;i<_LoadCall.length;i++){var code=_LoadCall[i]+'()';try{eval.call(window,code);}catch(e){alert(e);}}}

// фун. $ - сокращение для document.getElementById
if(document.getElementById) var $ = function(id){return document.getElementById(id);};
else if(document.all) var $ = function(id){return document.all[id];};

if(document.getElementsByName) var $$ = function(id){return document.getElementsByName(id);};

function ShowImg(sImgPath, width, height)
{
var scroll = 'no';
var top=0, left=0;
if(width > screen.width-10 || height > screen.height-28)
scroll = 'yes';
if(height < screen.height-28)
top = Math.floor((screen.height - height)/2-14);
if(width < screen.width-10)
left = Math.floor((screen.width - width)/2);
width = Math.min(width, screen.width-10);
height = Math.min(height, screen.height-28);
window.open('/tools/imagepg.php?img='+sImgPath,'','scrollbars='+scroll+',resizable=yes,width='+width+',height='+height+',left='+left+',top='+top);
}

function AdmMenuCookies(cookie_name, id)
{
var flts = "", curval = "";
var aCookie = document.cookie.split("; ");
for (var i=0; i < aCookie.length; i++)
{
var aCrumb = aCookie[i].split("=");
if(cookie_name == aCrumb[0])
{
if(aCrumb.length>1 && aCrumb[1].length>0)
{
var val = aCrumb[1];
var arFVals = val.split("&");
for (var j=0; j < arFVals.length; j++)
{
val = arFVals[j];
if(val.length>0)
{
val = unescape(val);
val = val.split("=");
if(val.length>1 && val[1].length>0)
{
if(val[0] == id)
curval = val[1];
else
flts = flts + escape(val[0] + "=" + val[1]) + "&";
}
}
}
}
}
}
return flts;
}
// устанавливает ограничитель максимальной длины строки, вводимой в поля формы,
// у которых указан атрибут maxlength и показывает введеное количество и максимальное символов

String.prototype.substrCount = function(needle){
   var L=this.length;
var m=needle.length;
for(var i=0,c=0; i<=L; i++){
if(needle == this.substr(i,m)) c++;
}
return c;
}
String.prototype.byteLength = function(){
  var lfCount = this.substrCount(String.fromCharCode(10)); // \n
  var crCount = this.substrCount(String.fromCharCode(13)); // \r
  var crlfCount = this.substrCount(String.fromCharCode(13,10)); // \r\n
  var count = 0;
  var str = this;
  str = str.replace(/\r/g, 'r');
  str = str.replace(/\n/g, 'n');
  str = encodeURIComponent(str);
  str = str.replace(/%../g, 'x');
  count = str.length;
  if(crlfCount > 0) count = count - crlfCount + lfCount; // win ie, win opera
  else if(lfCount > 0) count += lfCount;  // win ff, win chrom
  else if(crCount > 0) count += crCount; // mac
 
  return count;
};

function setFieldMaxLength() {
var tags = ['textarea'];
var counter = document.createElement('div');
counter.className = 'MaxLengthCounter';
for(tagname in tags){
var x = document.getElementsByTagName(tags[tagname]);
for (var i=0;i<x.length;i++) {
if (x[i].getAttribute('maxlength')) {
var counterClone = counter.cloneNode(true);
counterClone.relatedElement = x[i];
counterClone.innerHTML = '<span>0</span>/'+x[i].getAttribute('maxlength');
x[i].parentNode.insertBefore(counterClone,x[i].nextSibling);
x[i].relatedElement = counterClone.getElementsByTagName('span')[0];
x[i].onkeyup = function() {
var maxLength = this.getAttribute('maxlength');
var currentLength = this.value.length;
this.relatedElement.className = (currentLength > maxLength)?'toomuch':'';
this.relatedElement.firstChild.nodeValue = currentLength;
};
x[i].onchange = function() {
var maxLength = this.getAttribute('maxlength');
var currentLength = this.value.length;
this.relatedElement.className = (currentLength > maxLength)?'toomuch':'';
this.relatedElement.firstChild.nodeValue = currentLength;
};
x[i].onchange();
}else if (x[i].getAttribute('maxlengthbyte')) {
var counterClone = counter.cloneNode(true);
counterClone.relatedElement = x[i];
counterClone.innerHTML = '<span>0</span>/'+x[i].getAttribute('maxlengthbyte');
x[i].parentNode.insertBefore(counterClone,x[i].nextSibling);
x[i].relatedElement = counterClone.getElementsByTagName('span')[0];
x[i].onkeyup = function() {
var maxLength = this.getAttribute('maxlengthbyte');
var currentLength = this.value.byteLength();
this.relatedElement.className = (currentLength > maxLength)?'toomuch':'';
this.relatedElement.firstChild.nodeValue = currentLength;
};
x[i].onchange = function() {
var maxLength = this.getAttribute('maxlengthbyte');
var currentLength = this.value.byteLength();
this.relatedElement.className = (currentLength > maxLength)?'toomuch':'';
this.relatedElement.firstChild.nodeValue = currentLength;
};
x[i].onchange();
}
}
}
}
registerLoader("setFieldMaxLength");

// reduce image flicker in IE6
function reduceFlicker(){try{document.execCommand('BackgroundImageCache', false, true);}catch(e){};}
registerLoader("reduceFlicker");

if(document.addEventListener && !document.all){document.addEventListener("DOMContentLoaded",_callLoaders,null);}
else if(document.addEventListener){document.addEventListener("load",_callLoaders,null);}else{window.onload=_callLoaders;}

</script>
 
« Последнее редактирование: 20 декабря 2009, 12:57:33 от mai62 » Сообщить модератору   Записан
Михаил
Модератор
*****

Репутация: +337/-14
Offline Offline

Сообщений: 5513



« Ответ #355 : 20 декабря 2009, 19:27:55 »

Что означает "кашерный скрипт"?
Сообщить модератору   Записан
mai62
Автор HC
*****

Репутация: +226/-4
Offline Offline

Сообщений: 6383


« Ответ #356 : 20 декабря 2009, 19:40:11 »

Значение слова "КОШЕРНЫЙ" в толковом словаре Даля
КОШЕРНЫЙ - , коширный, еврейский, ЧИСТЫЙ, непоганый, дозволенный по закону на пищу;
Думаю gp_handy имел ввиду непоганый.
Сообщить модератору   Записан
Михаил
Модератор
*****

Репутация: +337/-14
Offline Offline

Сообщений: 5513



« Ответ #357 : 21 декабря 2009, 07:44:34 »

Content_master вырезает на страницах сайта http://softkey.ru (CMS Битрикс) кашерный скрипт.
Да. Это правило имеет ложные срабатывания. Но часто только оно спасает от зашифрованной рекламы.
В планах на будущее есть введение исключений для собственных правил СМ. Ну а сейчас просто подправлю действующее правило.
Можно попробовать так:
String\.fromCharCode\([^)<]{15}|document\.write\(unescape
Сообщить модератору   Записан
Михаил
Модератор
*****

Репутация: +337/-14
Offline Offline

Сообщений: 5513



« Ответ #358 : 24 декабря 2009, 14:57:08 »

IVAn Dealer
Цитировать
когда будет устранён "сдвиг" вправо на yandex.ru ?
Попробую в следующей версии...
Цитировать
на сайте vkontakte.ru при попытке перейти на другую страницу комментариев или чего ещё другого не происходит перехода (вроде как блокируется javascripts) и это из-за СМ происходит
Этой информации мало. Надо повключать/отключать правила и блоки правил и сказать, какое из них дает негативный эффект.
Сообщить модератору   Записан
Михаил
Модератор
*****

Репутация: +337/-14
Offline Offline

Сообщений: 5513



« Ответ #359 : 24 декабря 2009, 17:11:30 »

Сдвиг вправо строки запроса на yandex.ru у меня не проявляется. Похоже, проблемы уже нет (может, сайт чуть изменился).
Сообщить модератору   Записан
Страниц: 1 ... 16 17 [18] 19 20 ... 98   Вверх
  Отправить эту тему    Печать  

 
Перейти в: