殭屍:無法讀取空類型錯誤的特性「compareDocumentPosition」:無法讀取屬性「compareDocumentPosition」空Zombiejs jQuery的nullTypeError「compareDocumentPosition」
的 這發生任何時候,我嘗試加載一個頁面,其中包括jQuery的使用Zombiejs。這發生在我的Debian & Windows上,有各種不同的頁面,使用不同版本的jQuery和頁面上沒有其他東西。
這似乎與jsDom在頁面文檔準備好之前評估jQuery的方式有關,但它遠遠超出了我的頭腦。
任何人遇到這種情況,知道解決方法,或有任何指針?謝謝!
UPDATE:這是我的測試(實際上通過,但調試運行表明我提到的錯誤):
zombie = require "zombie"
browser = new zombie.Browser({debug: false})
$ = require "jquery"
require "should"
app = "http://localhost:3000/"
describe "app", ->
describe "index", ->
it "should display correct title", (done) ->
browser.visit app, (err, browser) ->
done()
這是錯誤:
Zombie: GET http://localhost:3000/js/jquery-1.7.1.js => 200 Zombie: Cannot read property 'compareDocumentPosition' of null TypeError: Cannot read property 'compareDocumentPosition' of null
at Object.<anonymous> (/js/jquery-1.7.1.js:4807:30)
at Object.<anonymous> (/js/jquery-1.7.1.js:5301:2)
at Object.<anonymous> (/js/jquery-1.7.1.js:9266:2)
at Object._evaluate (/home/dev/Hg/rpg-chat-bdd/node_modules/zombie/lib/zombie/browser.js:136:28)
in /js/jquery-1.7.1.js
導致其他錯誤,因爲'$'沒有在我的其他腳本中定義。
這是網頁的HTML我測試:
<title>Welcome to Test!</title>
<body>
<div id="main">
</div>
<script type="text/javascript" src="/js/jquery-1.7.1.js"></script>
<script type="text/javascript" src="/js/application.js"></script>
</body>
請向我們展示您用來加載/初始化jquery/zombie的代碼。 – mindandmedia 2012-02-24 21:54:33