miau's blog?

| 1 |

2006年 9月 25日 (月曜日)

eval() の文字数制限

- W41CA on miau's blog?
どうでもいいメモ。PCサイトビューアで eval() する場合、その文字列長は 2^18 = 262144 付近まで OK。

今作ってる bookmarklet の動作がおかしくて、eval() に文字数制限があるのかと疑ったけど・・・これだけ長い文字列を eval() できってことは違うっぽい。


(2006/09/26 追記)
原因判明。どうも eval() 内でループ用変数を置き換えてるのが問題っぽい。

(function() {
var l = document.scripts.length;
for (var i = 0; i < l; i++) {
eval(document.scripts[i].text);
}
})()

みたいなことをやってたんだけど、eval 内部で l とか i とかが変更されていた、と。

(function() {
var l = document.scripts.length;
for (var i = 0; i < l; i++) {
Function(document.scripts[i].text).apply(window);
}
})()

こんな感じでよさげ。
window は省略できそうだけど、まぁいいや。
19:28:04 - miau - No comments - No Trackbacks - Permalink

2006年 9月 26日 (火曜日)

URL の文字列制限

- W41CA on miau's blog?
またどうでもいいメモ。PCサイトビューアで使える URL の文字長は 1024 文字までっぽい。そろそろブックマークレットの限界が見えてきた。
ちなみにクリップボードは 234 文字くらい?
08:21:31 - miau - No comments - No Trackbacks - Permalink
| 1 |