背景故事被tempremental: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浏览器多一点快乐到它只是抛出一个明确的错误(FUN!)
我找到了解决方案,我在下面发布它,以防其他同事脚本编写者遇到此问题。
+1这让我觉得很奇怪,但我太懒惰,无法跟他一起钻进去。 – Robusto 2010-10-07 00:20:53