背景故事被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