Пожалуйста, взгляните на следующий JavaScript. Я взял материал из него, поэтому вы можете сосредоточиться на сути проблемы.
Вы заметите, что я дважды вызываю функцию prepPath в строке, передавая ее в той же строке. В firefox и IE8 эта функция каждый раз предупреждает об истинности (как и ожидалось). Но в Chromium 5.0.375.127 (55887) Ubuntu 10.04 функция возвращает true в первый раз, а false второй вызов, несмотря на то, что вход остается точно таким же!
<script type="text/javascript">
function prepPath(str)
{
var regX = /[^\s/"'\\].*[^\s/"'\\]/g;
if(regX.test(str))
{
alert("true: " + str);
}
else
{
alert("false; " + str);
}
}
prepPath("/desktop"); // alerts: true
prepPath("/desktop"); // alerts: false
</script>
Почему он возвращает ложь во второй раз в Chromium?