2012-12-18 89 views
0

我試圖從一些服務器腳本中包含一些庫,我從Mac終端(命令行)運行。這不會在瀏覽器中運行 - 我爲我的iOS應用程序的後端使用Parse Cloud Code。任何想法爲什麼下面的代碼不起作用,而它在谷歌瀏覽器中工作?JavaScript:document.write()不能在Mac終端工作

document.write('<script src="http://code.jquery.com/jquery-1.8.3.min.js" type="text/javascript"></script>'); 
document.write('<script src="https://raw.github.com/carlo/jquery-base64/master/ jquery.base64.min.js" type="text/javascript"></script>'); 
document.write('<script src="http://crypto-js.googlecode.com/svn/tags/3.0.2/build/rollups/hmac-sha1.js" type="text/javascript"></script>'); 

從終端運行此給出了錯誤:{ 「代碼」:141, 「錯誤」: 「未捕獲的ReferenceError:文件沒有定義」}。

+0

Thumb規則用於檢查javascript是否工作:執行'alert(1);' – Prasanth

+0

'Parse Cloud Code'正在運行node.js或其他服務器端JS(如rhino)? –

+0

@ nickd717確保編輯您的問題以準確反映錯誤。 – Dennis

回答

0

服務器端Javascript通常沒有document。這是因爲沒有創建DOM,所以你得到這個錯誤(Uncaught ReferenceError: document is not defined)。

此外,通常script標籤將不會用於加載JavaScript文件(沒有DOM)。

Node.js的使用使用require請求模塊的模塊接口(這也意味着模塊不會在全局空間中使用;例如在瀏覽器windowprocess在Node.js的)。不幸的是,很多客戶端JavaScript庫不能在服務器端工作(這是jQuery的情況,因爲它用於操縱不存在服務器端的DOM)。

然而,在節點中,有cheerio誰基本上實現服務器上的jQuery語法來生成DOM字符串。但就你而言,我寧願尋找在你的環境中工作的特定圖書館。

埃納威,當你澄清你的問題一點點。我想你有一個答案,你爲什麼會得到document not defined錯誤(你沒有在瀏覽器中工作,因此你沒有DOM)。從那裏,你真的需要閱讀Cloud Code Guide文檔,看看他們的環境如何工作;但明確地說,這不是因爲它說它使用JavaScript,您可以將瀏覽器上的工作方式轉換爲服務器。

祝你好運。