- 177 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/04/06(金) 12:28:59.75 ID:n503QDY/0]
- >>170
>>const PATTERN_SHORTCUT = RegExp([x for (x in PATTERN)].join('|'), 'gi'); >>textNode.nodeValue = textNode.nodeValue.replace(PATTERN_SHORTCUT, function($0) PATTERN[$0.toLowerCase()]); 「[x for (x in PATTERN)]」と、 「function($0) PATTERN[$0.toLowerCase()]」という、 Firefoxぐらいでしか動作しない配列内包表記と式クロージャが原因だな 上の場合、やってることは単純なので新しめのブラウザならどれでも動くES5のObject.keysで簡潔に代用できるはずだよ つまり、 const PATTERN_SHORTCUT = RegExp(Object.keys(PATTERN).join('|'), 'gi'); 下の場合も簡潔に書き直せる function($0) { return PATTERN[$0.toLowerCase()]; } この二箇所をこのように修正すれば動くんじゃないかな
|

|