jQuery,jTemplatesのバージョンはそれぞれ現在最新の、1.3.2と0.7.8。
原因を調べるため、jquery-jtemplates.jsを見てみると、なんのことはない、replaceの正規表現がうまくマッチせず、テンプレート内のコメント部分の除去がうまくいってないだけだった。
具体的にはjquery-jtemplates.jsの中のjQuery.fn.setTemplateElement内にある下のコード。
s = s.replace(/^<\!\[CDATA\[([\s\S]*)\]\]>$/im,'$1');
s = s.replace(/^<\!--([\s\S]*)-->$/im, '$1');
これがsafari3だとうまくマッチせず、<!--と-->が除去されず、そのままコメント扱いになり、表示されていなかった。
とりあえず、上記コードを下記のように修正することで対応した。
s = s.replace(/^<\!\[CDATA\[/m, '').replace(/\]\]>$/m, '').replace(/^<\!--/m, '').replace(/-->$/m, '');
0 件のコメント:
コメントを投稿