Google Drive API示例应用“DrEdit”javascript错误(Angular JS?)

时间:2012-11-25 22:55:09

标签: javascript google-app-engine angularjs google-drive-api

我正在尝试在Google App Engine上设置由Google生成的名为“Dredit”的示例应用程序。这里的文档:https://developers.google.com/drive/examples/python

该应用程序应该能够从用户的Google云端硬盘文件夹中打开,创建和编辑文件。

除了主页控制台中出现的一些JavaScript错误外,几乎所有内容都可以正常工作。此外,当我尝试创建新文档时,我无法更改文档的标题,也无法编辑现有文档的名称。但是,它允许我编辑任何文档的内容。要自己查看,应用程序就在这里:http://www.dredit-python-0515.appspot.com。您需要Google帐户才能登录。

Chrome的JS控制台和Firebug中的错误不同,但它们似乎以我的项目目录中的angularJS文件为中心。

Chrome中的错误是:

TypeError:无法读取未定义的属性'editable'

    at Object.service.state(http://dredit-python-0515.appspot.com/js/services.js:135:37)

    在http://dredit-python-0515.appspot.com/lib/angular-1.0.0/angular-1.0.0.js:6128:19

    在运营商。| (http://dredit-python-0515.appspot.com/lib/angular-1.0.0/angular-1.0.0.js:5560:74)

    在http://dredit-python-0515.appspot.com/lib/angular-1.0.0/angular-1.0.0.js:5879:14

    at Object.fn(http://dredit-python-0515.appspot.com/lib/angular-1.0.0/angular-1.0.0.js:4788:22)

    在Object.Scope。$ digest(http://dredit-python-0515.appspot.com/lib/angular-1.0.0/angular-1.0.0.js:7654:38)

    在Object.Scope。$ apply(http://dredit-python-0515.appspot.com/lib/angular-1.0.0/angular-1.0.0.js:7855:24)

    完成后(http://dredit-python-0515.appspot.com/lib/angular-1.0.0/angular-1.0.0.js:8844:20)

    at completeRequest(http://dredit-python-0515.appspot.com/lib/angular-1.0.0/angular-1.0.0.js:8984:7)

    在XMLHttpRequest.xhr.onreadystatechange(http://dredit-python-0515.appspot.com/lib/angular-1.0.0/angular-1.0.0.js:8954:11)

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:1)

我无法让您的应用程序正常工作,但查看堆栈跟踪:

错误来自

} else if (!doc.info.editable) {
   return EditorState.READONLY;
}
http://dredit-python-0515.appspot.com/js/services.js

中的

调用此代码时,未定义doc.info。

无论出于何种原因,在设置doc.info对象的“createEditor”函数之前调用“state”函数。

最简单的解决方法是用

替换第135行的“else if”
} else if (doc.info && !doc.info.editable) {