在Autodesk forge Viewer中查看文件时,出现以下错误,
无法读取未定义的属性“ setEndpoint” 。 Screenshot
doc.getRootItem 不是函数。 Screenshot
并且在清空缓存并重新加载(Ctrl + Shift + R)页面后将能够查看。有时即使重新硬装并清除浏览器缓存后,相同的错误仍然会持续。
第二个错误的代码。
var options = {
env: 'AutodeskProduction',
accessToken: getAccessToken() //Method to get access token- no errors here
};
var documentId = 'urn:' + urn;
Autodesk.Viewing.Initializer(options, function onInitialized() {
Autodesk.Viewing.Document.load(documentId, onDocumentLoadSuccess, onDocumentLoadFailure);
});
//Autodesk.Viewing.Document.load - success function.
function onDocumentLoadSuccess(doc) {
setTimeout(function() {
debugger;
}, 5000);
//Error is thrown in the line below.
var viewables = Autodesk.Viewing.Document.getSubItemsWithProperties(doc.getRootItem(), {
'type': 'geometry'
}, true); //throws error on calling doc.getRootItem()
if (viewables.length === 0) {
console.error('Document contains no viewables.');
return;
}
// Choose any of the avialble viewables
var initialViewable = viewables[0];
var svfUrl = doc.getViewablePath(initialViewable);
var modelOptions = {
sharedPropertyDbPath: doc.getPropertyDbPath()
};
var viewerDiv = document.getElementById('divViewer');
viewer = new Autodesk.Viewing.Private.GuiViewer3D(viewerDiv);
viewer.start(svfUrl, modelOptions, onLoadModelSuccess, onLoadModelError);
}
答案 0 :(得分:0)
您必须不知不觉地升级到不支持getRootItem和其他几个功能的Viewer V7,有关其发行说明和迁移指南,请参见here。
将V6与<script src="https://developer-stg.api.autodesk.com/modelderivative/v2/viewers/viewer3D.js?v=6.6"></script>
配合使用-如果默认情况下未指定版本,则将提供最新的稳定版本,即现在的V7.0。