Ru-Board.club
← Вернуться в раздел «Web-программирование»

» вопросы по javascript

Автор: unreal666
Дата сообщения: 21.11.2013 16:27
можно ли как-то из внутренней функции выйти сразу и из нее и из внешней (из той, в которой она находится) функции?
Т.е. что-то типа:


Код: (function main(){
(function notmain(){
// сделать что-то, чтобы выйти сразу и из внешней функции
})();
})();
// и мы уже здесь
Автор: Cheery
Дата сообщения: 21.11.2013 20:33
unreal666

Цитата:
можно ли как-то из внутренней функции выйти сразу и из нее и из внешней

нет.
http://jtfmumm.com/blog/2013/08/31/nested-higher-order-functions-in-javascript/
Автор: BennyBlanco
Дата сообщения: 26.11.2013 16:00
Возможно вопрос чуть не в тему:
Нашел рабочий скрипт пользовательских закладок, которые хранятся в куках
[more=скрипт]/*---------------------------------------------------------/
/ uFAVORITE v1.0 /
/ -------- /
/ POWERED BY UCODES.RU /
/ AUTOR UBERCHEL /
/ COPYRIGHT UBERSOFT LTD. 2011 ALL RIGHTS RESERVED. /
/ SITE: HTTP://UCODES.RU /
/---------------------------------------------------------*/


(uFavorite = {
v: {
a: 365 || 0,
b: 'span',
c: '',
d: '',
e: document.location.host,
s: 'default',
r: '',
h: '',
y: '',
i: ''
},
a: function(d, c, o, u, t) {
if (u == '') u = 'javascript://';
return [["<div ", "<\/div>", "<span ", "<\/span>", "<h1 ", "<\/h1>", "<h2 ", "<\/h2>", "<a ", "<img ", "<br ", "<hr ", ">", " \/>", "var s=document.getElementById('uFavorite');s.parentNode.removeChild(s)", "'"], ['ufavorite_', 'id="' + d + '"', 'class="' + c + '"', 'href="' + u + '"', 'onclick="' + o + '"', 'src="' + u + '"', 'title="' + t + '"', ' ', 'fadd', 'fdel', '"; expires="', '"; path="/";', '="', ';', 'onclick', 'uFavorite.f(this, 1)', 'uFavorite.f(this, 0)', 'class', 'body', 'resultFav', '/', '-', '_', '.html', '&', '"Msxml2.XMLHTTP"', '"Microsoft.XMLHTTP"', 'undefined', 'GET', '', '*', '=', 'rel', 'media', 'StyleSheet', 'type', 'text\/css', 'Screen', 'default', 'link', 'head', '\/ufavorite\/themes\/', '\/style.css', 'uFavorite', '|', '117|99|111|122|111|110|46|114|117|124|117|53|49|115|116|46|110|101|116|124|117|115|105|116|101|46|115|117|124|97|118|116|111|115|46|100|111|46|97|109', '1042|1085|1080|1084|1072|1085|1080|1077|44|32|1086|1096|1080|1073|1082|1072|32|1079|1072|1075|1088|1091|1079|1082|1080|32|1089|1082|1088|1080|1087|1090|1072|32|1080|1085|1080|1094|1080|1072|1083|1080|1079|1072|1094|1080|1080|32|1079|1072|1082|1083|1072|1076|1086|1082|33\n', '/close.png', '"', '1047|1072|1082|1083|1072|1076|1082|1080|44|32|1091|1078|1077|32|1086|1090|1082|1088|1099|1090|1099|33\n', '60|100|105|118|32|115|116|121|108|101|61|34|112|97|100|100|105|110|103|58|53|112|120|59|34|62|1047|1072|1082|1083|1072|1076|1086|1082|32|1085|1077|1090|44|32|1087|1091|1089|1090|1086|46|46|46|60|47|100|105|118|62\n', '(^|\\b)(', '|i)(\\b|$)', 'fvtop', 'fvlogo', 'fvs', '80|111|119|101|114|101|100|32|98|121|32|117|67|111|100|101|115|46|82|117', 'fCopyright', '|', '1040|1074|1090|1086|1088|1089|1082|1086|1077|32|1087|1088|1072|1074|1086|44|32|1086|1073|32|1080|1085|1090|1077|1083|1083|1077|1082|1090|1091|1072|1083|1100|1085|1086|1081|32|1089|1086|1073|1089|1090|1074|1077|1085|1085|1086|1089|1090|1080', '1085|1072|32|1089|1082|1088|1080|1087|1090|32|34|117|70|97|118|111|114|105|116|101|34|44|32|1087|1086|1083|1085|1086|1089|1090|1100|1102|32|1087|1088|1080|1085|1072|1076|1083|1077|1078|1080|1090|32|1077|1075|1086|32|1072|1074|1090|1086|1088|1091|44|32|1074|32|1083|1080|1094|1077', '1064|1091|1088|1084|1080|1085|1072|32|1052|46|1057|44|32|1090|1072|1082|1078|1077|32|1080|1079|1074|1077|1089|1090|1085|1099|1084|32|1087|1086|1076|32|1085|1080|1082|1086|1084|32|85|98|101|114|67|72|69|76|44|32|1072|1076|1084|1080|1085|1080|1089|1090|1088|1072|1090|1086|1088|1091|32|1089|1072|1081|1090|1072|32|117|67|111|100|101|115|46|82|117|46', '1055|1077|1088|1074|1086|1080|1089|1090|1086|1095|1085|1080|1082|1086|1084|32|1087|1091|1073|1083|1080|1082|1072|1094|1080|1080|44|32|1076|1072|1085|1085|1086|1081|32|1074|1077|1088|1089|1080|1080|32|1089|1082|1088|1080|1087|1090|1072|58|32|118|49|46|48|44|32|1103|1074|1083|1103|1077|1090|1089|1103|32|1090|1072|1082|1078|1077|32|1089|1072|1081|1090|32|117|67|111|100|101|115|46|82|117|33', '\n', '\n\r', 'msi']]
},
b: function(s) {
s = s.substr(s.indexOf(s.split(uFavorite.a()[1][20])[3]));
if (s.indexOf(uFavorite.a()[1][23]) != -1) {
s = s.slice(0, s.indexOf(uFavorite.a()[1][21]))
} else {
s = s.slice((s.indexOf(uFavorite.a()[1][21]) - 1), s.length)
}
while ((s.indexOf(uFavorite.a()[1][21]) >= 0) || (s.indexOf(uFavorite.a()[1][20]) >= 0)) {
s = s.replace(uFavorite.a()[1][21], uFavorite.a()[1][22]).replace(uFavorite.a()[1][20], uFavorite.a()[1][22])
}
return s
},
c: function(a, b, c) {
if (c) {
var d = new Date();
d.setTime(d.getTime() + (c * 24 * 60 * 60 * 1000));
var e = uFavorite.a()[1][10] + d.toGMTString()
} else {
e = uFavorite.a()[1][29]
}
document.cookie = a + uFavorite.a()[1][12] + b + e + uFavorite.a()[1][11]
},
d: function(a) {
var d = document.cookie.split(uFavorite.a()[1][13]);
for (var i = 0; i < d.length; i++) {
var c = decodeURIComponent(d[i]);
while (c.charAt(0) == uFavorite.a()[1][7]) c = c.substring(1, c.length);
if (c.indexOf(a) == 0) return c.substring(a.length, c.length)
}
return null
},
f: function(e, i, d) {
if (d) {
uFavorite.c(uFavorite.a()[1][0] + d, null, new Date(0))
} else {
if (i == 0) {
if (uFavorite.g(uFavorite.a()[1][44])) {
return false
}
uFavorite.c(uFavorite.a()[1][0] + uFavorite.b(e.getAttribute(uFavorite.a()[1][32]).split(uFavorite.a()[1][24])[0]), encodeURIComponent(e.getAttribute(uFavorite.a()[1][32])), uFavorite.v.a);
e.setAttribute(uFavorite.a()[1][14], uFavorite.a()[1][15]);
e.setAttribute(uFavorite.a()[1][17], uFavorite.a()[1][9])
} else if (i == 1) {
uFavorite.c(uFavorite.a()[1][0] + uFavorite.b(e.getAttribute(uFavorite.a()[1][32]).split(uFavorite.a()[1][24])[0]), null, new Date(0));
e.setAttribute(uFavorite.a()[1][14], uFavorite.a()[1][16]);
e.setAttribute(uFavorite.a()[1][17], uFavorite.a()[1][8])
}
}
},
g: function(p) {
if (p) {
var r = p.split(uFavorite.a()[1][44]);
for (var i = 0; i < r.length; i++) return (uFavorite.v.e == r[i])
} else return null
},
u: function() {
var a = 0;
var d = document.cookie.split(uFavorite.a()[1][13]);
for (var i = 0; i < d.length; i++) {
uFavorite.v.c = decodeURIComponent(d[i]);
while (uFavorite.v.c.charAt(0) == uFavorite.a()[1][7]) {
uFavorite.v.c = uFavorite.v.c.substring(1, uFavorite.v.c.length)
}
if (uFavorite.v.c.indexOf(uFavorite.a()[1][0]) == 0) {
uFavorite.v.d = uFavorite.a()[0][15] + String(uFavorite.v.c.substring(uFavorite.a()[1][0].length, uFavorite.v.c.length).split(uFavorite.a()[1][31])[0]) + uFavorite.a()[0][15];
uFavorite.v.r = String(uFavorite.v.c.substring(uFavorite.a()[1][0].length, uFavorite.v.c.length).split(uFavorite.a()[1][31])[1]).split(uFavorite.a()[1][24])[1].replace(uFavorite.a()[1][48], uFavorite.a()[1][29]);
uFavorite.v.h = String(uFavorite.v.c.substring(uFavorite.a()[1][0].length, uFavorite.v.c.length).split(uFavorite.a()[1][31])[1]).split(uFavorite.a()[1][24])[0].replace(uFavorite.a()[1][48], uFavorite.a()[1][29]);
document.getElementById(uFavorite.a()[1][19]).innerHTML += String('<div class="fStory" id="fvs' + a + '"><span class="fTitle"><a href="' + uFavorite.v.h + '" title="' + uFavorite.v.r + '">' + uFavorite.v.r + '</a></span><span class="fDelete" onclick="uFavorite.f(0,0,' + uFavorite.v.d + ');uFavorite.t(' + a + ');"></span></div>');
a++
} else setTimeout(function() {
var s = document.getElementById(uFavorite.a()[1][19]);
if (s.innerHTML == uFavorite.a()[1][29]) {
s.innerHTML = uFavorite.h(uFavorite.a()[1][50])
}
},
500)
}
},
t: function(a) {
var s = document.getElementById(uFavorite.a()[1][55] + a);
s.parentNode.removeChild(s);
if (document.getElementById(uFavorite.a()[1][19]).innerHTML == uFavorite.a()[1][29]) {
document.getElementById(uFavorite.a()[1][19]).innerHTML = uFavorite.h(uFavorite.a()[1][50])
}
},
h: function(b) {
uFavorite.v.i = uFavorite.a()[1][29];
var a = b.split(uFavorite.a()[1][58]);
for (var i = 0; i < a.length; i++) {
uFavorite.v.y = a[i];
uFavorite.v.i += String.fromCharCode(uFavorite.v.y)
}
return String(uFavorite.v.i)
},
go: {
init: function(e) {
var a = document.getElementsByTagName(uFavorite.v.b);
var b = RegExp(uFavorite.a()[1][51] + uFavorite.a()[1][8] + uFavorite.a()[1][52]);
if (navigator.userAgent.toLowerCase().indexOf(uFavorite.a()[1][65]) != -1) {
for (var i = 0; i < a.length; i++) {
if (b.test(a[i].className)) a[i].parentNode.removeChild(a[i])
}
return false
}
if (uFavorite.g(uFavorite.h(uFavorite.a()[1][45]))) {
return false
}
try {
uFavorite.v.a = String(e.expires);
uFavorite.v.s = String(e.style);
uFavorite.v.b = String(e.tag);
for (var i = 0; i < a.length; i++) {
if (b.test(a[i].className)) {
if (uFavorite.d(uFavorite.a()[1][0] + uFavorite.b(a[i].getAttribute(uFavorite.a()[1][32]).split(uFavorite.a()[1][24])[0]))) {
a[i].setAttribute(uFavorite.a()[1][17], uFavorite.a()[1][9]);
a[i].setAttribute(uFavorite.a()[1][14], uFavorite.a()[1][16])
}
}
}
} catch(e) {
alert(uFavorite.h(uFavorite.a()[1][46]) + e)
} finally {
var s = document.createElement(uFavorite.a()[1][39]);
s.setAttribute(uFavorite.a()[1][33], uFavorite.a()[1][37]);
s.setAttribute(uFavorite.a()[1][32], uFavorite.a()[1][34]);
s.setAttribute(uFavorite.a()[1][35], uFavorite.a()[1][36]);
if (!uFavorite.v.s || uFavorite.v.s == uFavorite.a()[1][29]) {
uFavorite.v.s = uFavorite.a()[1][38]
}
s.href = String(uFavorite.a()[1][41] + uFavorite.v.s + uFavorite.a()[1][42]);
document.getElementsByTagName(uFavorite.a()[1][40])[0].appendChild(s)
}
},
view: function() {
if (!document.getElementById(uFavorite.a()[1][43])) {
document.getElementsByTagName(uFavorite.a()[1][18])[0].innerHTML += String(uFavorite.a()[0][0] + uFavorite.a(uFavorite.a()[1][43])[1][1] + uFavorite.a()[1][7] + uFavorite.a()[0][12] + uFavorite.a()[0][0] + uFavorite.a(uFavorite.a()[1][53])[1][1] + uFavorite.a()[1][7] + uFavorite.a()[0][12] + uFavorite.a()[0][0] + uFavorite.a(uFavorite.a()[1][54])[1][1] + uFavorite.a()[1][7] + uFavorite.a()[0][12] + uFavorite.a()[0][9] + uFavorite.a(uFavorite.a()[1][29], uFavorite.a()[1][29], uFavorite.a()[1][29], uFavorite.a()[1][41] + uFavorite.v.s + uFavorite.a()[1][47])[1][5] + uFavorite.a()[1][7] + uFavorite.a(0, uFavorite.a()[1][29], uFavorite.a()[0][14])[1][4] + uFavorite.a()[0][13] + uFavorite.a()[0][1] + uFavorite.a()[0][1] + uFavorite.a()[0][0] + uFavorite.a(uFavorite.a()[1][19])[1][1] + uFavorite.a()[0][12] + uFavorite.a()[0][1] + uFavorite.a()[0][2] + uFavorite.a(uFavorite.a()[1][57])[1][1] + uFavorite.a()[1][7] + uFavorite.a()[0][12] + uFavorite.h(uFavorite.a()[1][56]) + uFavorite.a()[0][3] + uFavorite.a()[0][1])
} else {
alert(uFavorite.h(uFavorite.a()[1][49]));
return false
}
uFavorite.u()
},
uppp: function() {
alert(uFavorite.h(uFavorite.a()[1][59]) + uFavorite.a()[1][63] + uFavorite.h(uFavorite.a()[1][60]) + uFavorite.a()[1][63] + uFavorite.h(uFavorite.a()[1][61]) + uFavorite.a()[1][63] + uFavorite.h(uFavorite.a()[1][62]) + uFavorite.a()[1][64])
}
}
});


/*
|| the Script extends by a principle "AS IS", that is free.
|| Remember that plagiarism badly, a script is protected by the copyright about intellectual the property!
|| the Author of a script ubechel
|| 5:28 12/10/2011
*/[/more]
Только смущает, то что некоторые части кода зашифрованы, например:
117|99|111|122|111|110|46|114|117|124|117|53|49|115|116|46|110|101|116|124|117|115|105|116|101|46|115|117|124|97|118|116|111|115|46|100|111|46|97|109
Есть ли возможность расшифровать эти шифры, или хотя бы узнать что этот код не вредоносный?

Вот еще аналогичный [more=скрипт]/*##########################################################
MODULE FOVORITES (umFavorites) #############################
############################################################
POWERED BY UBERCHEL ########################################
COPYRIGHT 2013 UBERSOFT LLC. ALL RIGHTS RESERVED. ##########
ICQ: 468407295 #############################################
E-MAIL: UBERSOFT@I.UA ######################################
SITE: HTTP://UBERMEDIA.RU AND HTTP://UBERSOFT.RU ###########
##########################################################*/

;(function (window, undefined) {
var module;
var newsid;
var virify = false;
var tagIdEv = "umfav";
var tagIdBt = "umfavBut";
var tagIdGl = "umfavorite";
var tagClassCan = "umFCanvas";
var tagClassAdd = "umFavadd";
var tagClassDel = "umFavdel";
var globalfunc = "\x3C\x73\x70\x61\x6E\x20\x73\x74\x79\x6C\x65\x3D\x22\x66\x6C\x6F\x61\x74\x3A\x72\x69\x67\x68\x74\x3B\x66\x6F\x6E\x74\x2D\x73\x69\x7A\x65\x3A\x31\x30\x70\x78\x3B\x6D\x61\x72\x67\x69\x6E\x3A\x37\x70\x78\x20\x35\x70\x78\x20\x30\x70\x78\x20\x35\x70\x78\x3B\x63\x6F\x6C\x6F\x72\x3A\x23\x39\x37\x39\x37\x39\x37\x3B\x22\x3E\x26\x63\x6F\x70\x79\x3B\x26\x6E\x62\x73\x70\x3B\x32\x30\x31\x33\x26\x6E\x62\x73\x70\x3B\x3C\x61\x20\x68\x72\x65\x66\x3D\x22\x68\x74\x74\x70\x3A\x2F\x2F\x75\x62\x65\x72\x73\x6F\x66\x74\x2E\x72\x75\x22\x20\x73\x74\x79\x6C\x65\x3D\x22\x63\x6F\x6C\x6F\x72\x3A\x23\x39\x37\x39\x37\x39\x37\x3B\x74\x65\x78\x74\x2D\x64\x65\x63\x6F\x72\x61\x74\x69\x6F\x6E\x3A\x6E\x6F\x6E\x65\x3B\x22\x3E\x55\x62\x65\x72\x53\x4F\x46\x54\x20\x4C\x4C\x43\x2E\x3C\x2F\x61\x3E\x3C\x2F\x73\x70\x61\x6E\x3E";
var getByClass = function(a, b, c) {
     if (a || a != undefinad) {
          var j = new Array();
          var e = document.getElementsByTagName("*");
          var p = new RegExp("(^|\\b)("+a+")(\\b|$)", "ig");
          if (!b || b == undefined) b = 0;
          for (var i=0; i<e.length; i++) {
               if (p.test(e[i].className)) {
               j.push(e[i]);
          }
          }
          if (!j || j == '') {
          return undefined;
          }
          if (c == true) {
          return j;
          } else {
         return j[(b<=j.length?b:j.length)];
     }
     } else
    return false;
}

var remByClass = function (obj, cls) {
var classes = obj.className.split(' ');
for(var i=0; i<classes.length; i++) {
if (classes[i] == cls) {
classes.splice(i, 1);
i--;
}
}
obj.className = classes.join(' ');
}

var umCanvasPos = function () {
if (getByClass(tagClassCan)) {
var el = getByClass(tagClassCan);
var eh = el.offsetHeight/2;
var hd = (window.innerHeight/2) - eh;
el.style.cssText = "margin:"+hd+"px auto;";
} else return false;
}

var virifyCopy = function (a) {
     if (a && typeof(a) != undefined) {
          if (globalfunc.indexOf('\x55\x62\x65\x72\x53\x4F\x46\x54') != -1) {
               virify = true;
               return true;
          }
     } return false;
}

var fromData = function (a, b) {
     if(a && typeof(a) != undefined && virify) {
     var elem = a.getAttribute('rel').split('&');
     var elem1 = elem[0].match(/(^[/]|\b)\d+/ig).join('');
     if (b && b == true) {
          return String("/" + module + elem[0].match(/[/]\d+-.+/im));
     } else {
     return new Array(tagIdEv + elem1, elem[1]);
     }
} else
return undefined;
}

var items = function () {
     var result = "";
     var cookies = document.cookie.match(/umFav\d+/ig);
     var trimfunc = "\x55\x62\x65\x72\x53\x4F\x46\x54\x20\x4C\x4C\x43";
     var globaltrim = "\u0417\u0430\u043A\u043B\u0430\u0434\u043A\u0438\x20\u043D\u0435\x20\u0437\u0430\u0440\u0430\u0431\u043E\u0442\u0430\u044E\u0442\x2C\x20\u0423\u0431\u0440\u0430\u043D\x20\u043A\u043E\u043F\u0438\u0440\u0430\u0439\u0442\x21";
     if (virify && globalfunc.indexOf(trimfunc) != -1) {
     for(var i in cookies) {
          var data = unescape(cookie.get(cookies[i]));
          data = data.split('::');
          result += "<div class=\"umFresult\"><span onclick=\"umfavDelete(this,'"+cookies[i]+"');\"></span><a href=\""+data[0]+"\">"+data[1]+"</a></div>";
     }
     } else result = globaltrim;
     getByClass(tagClassCan).innerHTML += globalfunc;
     getByClass('umFContent').innerHTML = result;
}

this.umFavClose = function () {
var el = document.getElementById(tagIdGl);
if (el.style.display == 'block') {
     el.innerHTML = "";
     el.style.display = 'none';
}
}

this.umfavDelete = function (el, a) {
     if (el && typeof(a) != undefined) {
          if (cookie.set(a, 0, -1)) {
               el.parentNode.parentNode.removeChild(el.parentNode);
          } else alert('Не удалось удалить закладку!');
     } else return false;
}

this.umFavorite = function (el) {
     if (el || el != undefined) {
     if(/umFavdel/i.test(el.className) && virify) {
          remByClass(el, tagClassDel);
          el.className = tagClassAdd;
          el.setAttribute("title", "Добавить в закладки");
          cookie.set(fromData(el)[0], null, -1);
     } else {
     remByClass(el, tagClassAdd);
     el.className = tagClassDel;
     el.setAttribute("title", "Удалить из закладок");
     cookie.set(fromData(el)[0], (fromData(el, true) + '::' + fromData(el)[1]), 365);
     }
} else return false;
}

this.onload = function () {
if (document.getElementById(tagIdGl)) {
var el = getByClass(tagClassAdd, 0, true);
var gl = document.getElementById(tagIdGl);
var gb = document.getElementById(tagIdBt);
var gc = "display:block;position:fixed;top:0px;left:0px;width:100%;height:100%;";
var wr = "<div class=\""+tagClassCan+"\"><div class=\"umFTop\"><span onclick=\"umFavClose(); return false;\"></span><img src=\"/umfav/img/logo.png\"></div><div class=\"umFContent\"></div></div>";
if (virifyCopy(globalfunc) && el) {
module = location.href.split('/')[3];
for (var i=0; i<el.length; i++) {
     if (virify && cookie.get(fromData(el[i])[0]) != null) {
          el[i].className = tagClassDel;
          el[i].setAttribute("title", "Удалить из закладок");
     }
}
     if (gb.addEventListener) {
          gb.addEventListener("click", function () {
               gl.innerHTML = wr;
               gl.style.cssText = gc;
          umCanvasPos();
          items();
          }, false);
     } else if (gb.attachEvent) {
               gb.attachEvent("onclick", function () {
               gl.innerHTML = wr;
               gl.style.cssText = gc;
               umCanvasPos();
               items();
               });
     } else gb.onclick = function () {
               gl.innerHTML = wr;
               gl.style.cssText = gc;
               umCanvasPos();
               items();
     }
    } else
return false;
}
}
})(window);[/more]
так здесь тоже некоторые части зашифрованы, например:
\x55\x62\x65\x72\x53\x4F\x46\x54
Автор: Cheery
Дата сообщения: 26.11.2013 19:00
BennyBlanco
не нравится - возьмите другой.
всего лишь сделано скремблирование, для сложности восприятия, использования частей или целого кода в своих целях
ну и чтобы не удаляли копирайты, когда автор просто помешан на том, чтобы везде было указано, что это он такой "гений".
привести в "удобоваримый" вид можно, но лишняя потеря времени.
сделайте везде, где используется uFavorite.a()[1][29] и так далее просто вывод через alert или console.log, чтобы получить нормальное название тега или вид текста, и заменяйте потихоньку.

со вторым тоже - помешены на копирайтах

Код: var virifyCopy = function (a) {
if (a && typeof(a) != undefined) {
if (globalfunc.indexOf('\x55\x62\x65\x72\x53\x4F\x46\x54') != -1) {
virify = true;
return true;
}
} return false;
}
Автор: BennyBlanco
Дата сообщения: 26.11.2013 19:20
Cheery

Цитата:
не нравится - возьмите другой.

Другой не нашел )
Спасибо
С первым понятно, я это не сделаю, пес с ним .
А со вторым, не в курсе где можно расшифровать эти escape последовательности? Я некоторые онлайн сервисы расшифровки попробовал, так они не понимают этот шифр ). \x55\x62\x65\x72\x53\x4F\x46\x54
Автор: Cheery
Дата сообщения: 26.11.2013 19:31
BennyBlanco
alert(unescape('\x55\x62\x65\x72\x53\x4F\x46\x54'))
http://jsfiddle.net/Pxzk9/
Автор: BennyBlanco
Дата сообщения: 26.11.2013 19:37
Cheery
Я извиняюсь, но я не понял, что здесь
http://jsfiddle.net/Pxzk9/
Автор: Cheery
Дата сообщения: 26.11.2013 19:41
BennyBlanco

Цитата:
Я извиняюсь, но я не понял, что здесь

значит вам это не нужно. там лишь пример выполнения того кода, что я привел над ссылкой.
Автор: BennyBlanco
Дата сообщения: 26.11.2013 20:11
Cheery
ОК, спасибо, поищу не зашифрованный скрипт.
Автор: BennyBlanco
Дата сообщения: 03.12.2013 18:55
<script type='text/javascript'>
document.getElementById('addcBut').setAttribute('onclick', 'check()');
var list = /<a href|http:|.www|.ru|.com|.org|.net|.biz|.info|.ua/igm;
function check() {mes = document.getElementById('message').value; if (mes.search(list)>-1) {document.getElementById('addcBut').setAttribute('type', 'button')} else {document.getElementById('addcBut').setAttribute('type', 'submit')}}
</script>

Скрипт при добавлении комментария проверяет есть ли в тексте ссылка <a href=""></a> и если есть блокирует кнопку добавить комментарий.
Можно ли изменить этот скрипт чтобы он проверял не наличие ссылки вида <a href=""></a> а наличие символов http://, .www и т.д, или только http:// ?
Автор: Cheery
Дата сообщения: 03.12.2013 19:00
BennyBlanco

Цитата:
а наличие символов


Цитата:
var list = /http:\/\/|.www/igm;  

но смысл? это элементарно обходится в браузере
Автор: BennyBlanco
Дата сообщения: 03.12.2013 19:08
Cheery
Спасибо!

Цитата:
но смысл? это элементарно обходится в браузере

Вы имеете ввиду обходится отключением js в браузере?
Автор: Cheery
Дата сообщения: 03.12.2013 19:11
BennyBlanco

Цитата:
Вы имеете ввиду обходится отключением js в браузере?

нет. можно модифицировать что угодно в странице прямо из браузера.
Цитата:
document.getElementById('addcBut').setAttribute('type', 'submit')

как это, к примеру.
ну, то есть, данные надо проверять и на сервере, а не надеяться, что для всего хватит js
Автор: BennyBlanco
Дата сообщения: 03.12.2013 19:22
Cheery

Цитата:
можно модифицировать что угодно в странице прямо из браузера

Понятно.
Я думаю что от школьников спамеров
var list = /http:\/\/|.www/igm;
вполне нормальное решение
конечно не от этих "школьников" про которых вы писали здесь

Цитата:
действие обычных школьников, серьезные люди такой фигней не занимаются

Большое спасибо!
Автор: vs6262
Дата сообщения: 04.12.2013 22:17

Код: <div id="Main_Layer">
<div style="position:absolute;left:10px;top:10px;">
<img id="scream" src="files/images/Logo-2.jpg" alt="The Scream" width="140" height="100" style="visibility:hidden;position:absolute;visibility:hidden;top:-500;">
<canvas id="myCanvas" width="140" height="100" style="border:0x solid #d3d3d3;background-color:#FFFFCC;">
Your browser does not support the HTML5 canvas tag.</canvas>
</div>

var c=document.getElementById("myCanvas");
var ctx=c.getContext("2d");

ctx.scale(0.15, 0.15);
var img=document.getElementById("scream");
ctx.drawImage(img,0,0);
Автор: Cheery
Дата сообщения: 04.12.2013 22:31
vs6262

Цитата:
может кто знает в чем причина?

ссылку? причина может быть в чем то ином.
Автор: vs6262
Дата сообщения: 04.12.2013 22:42

Цитата:
ссылку? причина может быть в чем то ином.

http://www.breil-it-service.de/
Автор: Cheery
Дата сообщения: 04.12.2013 22:49
vs6262

Цитата:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

и что вы ожидаете? canvas это html5
Автор: vs6262
Дата сообщения: 04.12.2013 22:58
изменил. но все еще не отображается картиночка в canvas'е в Safari for Windows 5.17 и последнем Maxthon

Добавлено:
со временем сайт будет посолиднее и я чувствую придется сделать fallback версию сайта для старых браузеров
Автор: Cheery
Дата сообщения: 04.12.2013 23:10
vs6262

Цитата:
я чувствую придется сделать fallback версию сайта для старых браузеров

вам нужен canvas, чтобы поместить одну картинку поверх другой???


Цитата:
изменил.

ничего вы не изменили.. DOCTYPE должен идти первой строкой, без комментов

ps: сейчас поставлю portable Maxthon и посмотрю
Автор: vs6262
Дата сообщения: 04.12.2013 23:16

Цитата:
DOCTYPE должен идти первой строкой, без комментов

сейчас 100% изменил. но все еще не отображается картиночка в canvas'е в Safari for Windows 5.17 и последнем Maxthon

Цитата:
вам нужен canvas, чтобы поместить одну картинку поверх другой???

пока так
Автор: Cheery
Дата сообщения: 04.12.2013 23:19
vs6262

Цитата:
пока так

а не нужно для этого так делать


Цитата:
но все еще не отображается картиночка в canvas'е в Safari for Windows 5.17 и последнем Maxthon

сдается мне, что на момент попытки работы с картинкой, браузер ее еще не загрузил.
Автор: vs6262
Дата сообщения: 04.12.2013 23:27
Cheery
спасибо, сейчас всё ок.

Добавлено:

Цитата:
а не нужно для этого так делать

просто хчется порадвать красотой HTML5, в окончательной версии сайта ещё прийдут красивые вещи HTML5 & CSS3
Автор: vs6262
Дата сообщения: 05.12.2013 07:15
вот http://rghost.net/50695505 исходник.

решил подогнать mousemovement подогнать под IE11 и чтото напутал(теперь ни в каком браузере не работает).

может кто кто найдет эту фатальную ошибку ?


PS: чтобы позиции совпадали я потом уже сам подгоню

Добавлено:
там JS всего примерно 25 КБ, а mousemovement строчек 30-35
Автор: Cheery
Дата сообщения: 06.12.2013 01:50

Цитата:
obj.onmousedown=function(event){eval(_onmousedown);}

смысл?? вы этим eval пытаетесь прицепить обработчик нажатия мыши, но мышь уже нажата.

и зачем изобретать велоспид, если есть уже отличные плагины с jQuery это реализующие.
Автор: unreal666
Дата сообщения: 23.12.2013 01:46
можно ли как то попроще при создании конструктором объекта передать в конструктор аргументы в виде массива, типа как при func.apply(obj, array) ?
т.е. типа new func(arg1, arg2), но в качестве параметров передается один массив, который "раскрывается" автоматом.

А то до меня дошло только с применением именно этого apply:

Код: function func(arg1, arg2, arg3){};

func.apply(Object.create(func.prototype), [arg1, arg2, arg3]);
Автор: Cheery
Дата сообщения: 23.12.2013 01:53
unreal666
http://www.bennadel.com/blog/2291-Invoking-A-Native-JavaScript-Constructor-Using-Call-Or-Apply-.htm
Автор: unreal666
Дата сообщения: 23.12.2013 03:32
Т.е. типа того, что я и написал, только поточнее:


Код: function func(arg1, arg2, arg3){};

var obj = Object.create(func.prototype);
obj = ( obj.apply(obj, [arg1, arg2, arg3]) || obj );
Автор: zoner
Дата сообщения: 25.12.2013 14:11
Начал експериментировать с free CMS движком Fullxml (скачено с сайта http://www.miedema.biz/dredging/redirect.asp?id=1&type=dw) на сайте www.cerkva.cz.

Исправил мелкие ошыбки на сайте www.cerkva.cz. и вот наткнулся на проблему некорректного изображения
горизонтального меню "GENERAL" или точнее субменю "HOME PAGE" в IE7 и выше. Проблема в том, что субменю"HOME PAGE" а также картинка маленькой стрелки в меню "GENERAL" изображаются мимо меню"GENERAL".
Для меню используется скрипт DHTML Menu version 3.3.19 (http://www.milonic.co.uk/menu).

Помогите пожалуйста исправить код.

Спасибо большое.


Zoner
Автор: ollz
Дата сообщения: 25.12.2013 17:11
На некоторых сайтах возникает такая проблема - невозможно отправить сообщение. Сообщается что нужно включить JavaScript. Но он у меня включен. Сообщить об этом модераторам того сайта тоже нельзя - не включен якобы JavaScript. Замкнутый круг! В чём может быть проблема - в моём компьютере или в том сайте?

Страницы: 12345678910111213141516171819202122

Предыдущая тема: jQuery: Перемещение якоря на верх страницы


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.