2012-12-18 159 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,您可以将浏览器上的工作方式转换为服务器。

祝你好运。