最初の数時間はゾンビを試してみて、とても興奮しています。唯一の (初心者の運?) 問題は、スクリプトが非同期に読み込まれ (これはすばらしい)、ダウンロードされた順序で実行されるように見えることです (「元の」HTML ファイルで言及されている順序ではありません)。私は説明します:
<head>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.7.1.js"></script>
<script>alert($('body'))</script>
</head>
http://jsfiddle.net/viebel/GWYEj/ - 次のスクリプトは jQuery をロードし、それを使用しようとします。jQueryのダウンロードには時間がかかりますが、Zombieはダウンロードが完了する前に次のスクリプトセクションに進むようです。明らかに、jQuery なしでは $('body') にはあまり意味がないため、次のエラーが発生します。
Zombie: GET http://jsfiddle.net/viebel/GWYEj/show/
Zombie: GET http://jsfiddle.net/viebel/GWYEj/show/ => 200
Zombie: GET http://jsfiddle.net/js/lib/mootools-core-1.4.4.js
Zombie: GET http://code.jquery.com/jquery-1.7.1.js
Zombie: GET http://jsfiddle.net/js/lib/mootools-core-1.4.4.js => 200
Zombie: Unexpected token } SyntaxError: Unexpected token }
at Object._evaluate (/home/viebel/node_modules/zombie/lib/zombie/browser.coffee:136:28)
in http://jsfiddle.net/viebel/GWYEj/show/:undefined:undefined<script>
Zombie: GET http://code.jquery.com/jquery-1.7.1.js => 200
「通常の」ブラウザでは、コードは問題なく動作します。はい、node.js が実際にはクライアント側の JavaScript ではないことはわかっていますが、Zombie.js はそうあるべきですよね?
私たちが間違っていることを助けてください。