Обещаю, я не вру. В этом пользовательском скрипте есть одна странная строка. Его
if(rePrv.test(h)||rePrv.test(h))
Теперь, если у меня есть только if(rePrv.test(h))
, я иногда получаю ложное (неправильно). Однако с || я получаю правильные результаты. Это дует мой мозг. Что здесь происходит? Может кто-нибудь объяснить? Это происходит в Firefox 8, 11 (переносной) и Chrome 17.0.
Это мой код пользователя.
// ==UserScript==
// @require http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js
// ==/UserScript==
var re=/\/?docs\/\d+/gi;
var rePrv=/\/?docs\/\d+\/private/gi;
var prvls="";
var publs="";
$('a').each(function(i, e){
var h = $(this).attr('href');
if(h==undefined)
return;
if(re.test(h)){
if(rePrv.test(h)||rePrv.test(h)){
prvls+="http://www.domain.com/"+h+"<br/>\n";
}
else {
publs+="http://www.domain.com/"+h+"<br/>\n";
}
}
});