Сообщение от pashin76
|
Как защитить JS код?
|
никак, вот смотри, я всё смог получить тот код, ссылку на которую вы указали
/*
* [url]http://qoo.by/[/url]
*/
(function () {
var $$ = function () {
var obj;
switch(arguments.length) {
case 0:
return document;
break;
case 2:
$$(arguments[0]).innerHTML=arguments[1];
break;
case 3:
$$(arguments[0]).style[arguments[1]]=arguments[2];
break;
}
if(arguments.length>0) {
if(typeof arguments[0] == 'string') {
obj=$$().getElementById(arguments[0]);
}
else {
obj=arguments[0];
}
}
if(obj==null) {
return false;
}
obj.$$ = function() {
switch(arguments.length) {
case 0:
this.$$ = function () {
return $$.apply(null,arguments);
}
break;
case 1:
obj.innerHTML=arguments[0];
break;
case 2:
obj.style[arguments[0]] = arguments[1];
break;
}
return obj;
}
obj.$$after = function(el) {
var elm=this;
var th=$$(el);
do {
th = th.nextSibling;
} while(th && th.nodeType != 1);
if(th!=null) {
if (th != elm) {
th.parentNode.insertBefore(elm, th);
}
}
else {
if (el != elm) {
el.parentNode.appendChild(elm);
}
}
return $$(elm);
}
obj.$$before = function(el) {
var elm=this;
var th=$$(el);
do {
th = th.previousSibling;
} while(th && th.nodeType != 1);
var nth=th;
if(nth!=null) {
do {
nth = nth.nextSibling;
} while(nth && nth.nodeType != 1);
if (th != elm) {
th.parentNode.insertBefore(elm, nth);
}
}
else {
if (el != elm) {
el.parentNode.insertBefore(elm, el);
}
}
return $$(elm);
}
obj.$$prev = function() {
var elm=this;
do {
elm = elm.previousSibling;
} while(elm && elm.nodeType != 1);
if(elm!=null) {
return $$(elm);
}
else {
return elm;
}
}
obj.$$next = function() {
var elm=this;
do {
elm = elm.nextSibling;
} while(elm && elm.nodeType != 1);
if(elm!=null) {
return $$(elm);
}
else {
return elm;
}
}
obj.$$first = function() {
var elm=this;
elm = elm.firstChild;
elm = elm && elm.nodeType != 1 ? elm.nextSibling : elm;
if(elm!=null) {
return $$(elm);
}
else {
return elm;
}
}
obj.$$last = function() {
var elm=this;
elm = elm.lastChild;
elm = elm && elm.nodeType != 1 ? elm.previousSibling : elm;
if(elm!=null) {
return $$(elm);
}
else {
return elm;
}
}
obj.$$parent = function(num) {
var elm=this;
num = num || 1;
for (var i=0; i<num; i++)
if (elm != null) elm = elm.parentNode;
if(elm!=null) {
return $$(elm);
}
else {
return elm;
}
}
obj.$$html = function() {
var elm=this;
return $$(elm).innerHTML;
}
return obj;
}
var $$i = function (arg) {
arg = arg || {};
var default_arg = {
create:'script',
attribute: {
'type':'text/javascript'
},
insert:document.body,
onready:function () {
}
}
for(var index in default_arg) {
if(typeof arg[index] == "undefined") arg[index] = default_arg[index];
}
var create = arg['create'];
var attribute = arg['attribute'];
var insert = arg['insert'];
var onready = arg['onready'];
var s = $$().createElement(create);
for(var key in attribute) {
s.setAttribute(key,attribute[key]);
}
if(create=='script' && (typeof attribute.src != "undefined")) {
if (s.readyState) {
s.onreadystatechange = function() {
if(s.readyState == "loaded" || s.readyState == "complete") {
s.onreadystatechange = null;
onready();
}
}
}
else {
s.onload = function() {
onready();
}
}
}
insert.appendChild(s);
if(create=='script' && (typeof attribute.src == "undefined")) {
s.$$=function () {
s.text=arguments[0];
}
}
else if(create=='style') {
s.$$=function () {
if(s.styleSheet) {
s.styleSheet.cssText = $$().createTextNode(arguments[0]).nodeValue;
}
else {
s.appendChild($$().createTextNode(arguments[0]));
}
}
}
else {
return $$(s);
}
return s;
}
var $$s = {};
$$s.getelbytag = function (t,el) {
t = t || '*';
el = el || $$();
var elms=[], relm=[];
elms=el.getElementsByTagName(t);
for(var i=0;i<elms.length;i++) {
relm.push(elms[i]);
}
return relm;
}
/*
* ----------------------------------
*/
var color_map = {
'ffffff':['001','001s','002','002s','003','003s','004','004s','005','005s','006','006s','016','016s'],
'000000':['007','007s','008','008s','009','009s','010','010s'],
'f0ad4e':['011','011s'],
'd9534f':['012','012s'],
'428bca':['013','013s'],
'00ff00':['014','014s'],
'ffff00':['015','015s'],
'999999':['017','017s'],
'5cb85c':['018','018s'],
'5bc0de':['019','019s']
};
$$('qoo-counter-visits','14');
$$('qoo-counter-views','33');
$$i({
create:'link',
attribute: {
'rel':'stylesheet',
'type':'text/css',
'href':'http://qoo.by/counter/counter.css'
},
insert:$$s.getelbytag('head')[0]
});
$$('qoo-counter').$$first().href='http://qoo.by/counter/?r='+encodeURIComponent(window.location.href);
var img_info = $$('qoo-counter').$$first().$$first().src.match(/.*\/(.*)\.png/i)[1];
var break_key=false;
for(var color in color_map) {
for(var i=0; i<color_map[color].length; i++) {
if(color_map[color][i]===img_info) {
$$('qoo-counter','color','#'+color).$$first().$$('color','#'+color);
break_key=true;
break;
}
}
if(break_key) { break; }
}
})();
/*
Потребление памяти: 474120 байт - 463.0078125 кб - 0.45215606689453 мб
Потребление памяти real: 524288 байт - 512 кб - 0.5 мб
Потребление памяти: 228016 байт - 222.671875 кб - 0.21745300292969 мб
Потребление памяти real: 524288 байт - 512 кб - 0.5 мб
Лимит памяти: 128M
Время генерации скрипта: 0.014336109161377 секунд
*/