JS String.replace может быть временным в Safari

Предыстория:

Это отлично работает во всех браузерах, ЗА ИСКЛЮЧЕНИЕМ Safari (5.0.1)

var chunk = arr[i];
chunk = chunk.replace('$', '\\$');
var a = eval('message.match(/' + chunk + '/gi);');
if(a instanceof Array) symbol = symbol.concat(a);

Поэтому я изменил его на следующее:

var chunk = String(arr[i]);
chunk = chunk.replace('$', '\\$');
var a = eval('message.match(/' + chunk + '/gi);');
if(a instanceof Array) symbol = symbol.concat(a);

Что сделало Safari BIT более счастлив, когда он просто выдавал неоднозначную ошибку (УДОВОЛЬСТВИЕ!)

Я нашел решение и размещаю его ниже на случай, если другие сценаристы столкнутся с этой проблемой.

1
задан Jacksonkr 10 December 2015 в 23:52
поделиться