autodesk-forge - Forge Viewer v7:“getViewableUrn 不是函数”- 7.33.1
问题描述
不确定这是错误还是脚本加载顺序的问题。使用 ES5,但在支持 ES6 的浏览器中。v6 有效。在升级到 v7 时发现了这一点。
“ChooseViewerItem”(允许我更改可视项的包装函数)中的行 - 调用
viewer.loadDocumentNode(document, viewable).then(onItemLoadSuccess, onItemLoadFail);
我错过了什么?
Uncaught TypeError: avDocument.getViewableUrn is not a function
loadDocumentNode Viewer3D.js:1738
ChooseViewerItem a9dcd494-cecb-4391-a14e-834f7c7d8172:1280
onDocumentLoadSuccess a9dcd494-cecb-4391-a14e-834f7c7d8172:1298
onSuccess Document.js:174
onSuccessWrapped Xhr.js:565
onLoad Xhr.js:669
_rawGet Xhr.js:707
rawGet Xhr.js:573
pendGo index.js:54
go index.js:13
rawGet Xhr.js:557
getManifest Xhr.js:855
doLoad Document.js:227
load Document.js:231
launchViewer a9dcd494-cecb-4391-a14e-834f7c7d8172:1272
promise callback*Initializer envinit.js:629
launchViewer a9dcd494-cecb-4391-a14e-834f7c7d8172:1261
<anonymous> a9dcd494-cecb-4391-a14e-834f7c7d8172:922
Angular 18
jQuery 13
Viewer3D.js:1738
解决方案
Document类与viewer3D.js文件中的所有其他基本类捆绑在一起,因此加载顺序应该没有问题。
我建议检查您传递给该loadDocumentNode
方法的对象是否实际上是Document
.
以下是使用 Forge Viewer v7.* 加载模型/可视项的典型方式:
async function loadModelViewable(viewer, urn, guid = null) {
function onDocumentLoadSuccess(doc) {
if (guid) {
viewer.loadDocumentNode(doc, doc.getRoot().findByGuid(guid));
} else {
viewer.loadDocumentNode(doc, doc.getRoot().getDefaultGeometry());
}
}
function onDocumentLoadFailure(code, message) {
console.error(message);
}
Autodesk.Viewing.Document.load('urn:' + urn, onDocumentLoadSuccess, onDocumentLoadFailure);
}
推荐阅读
- python - Python BSoup 没有找到隐藏元素,Selenium 作为替代品的问题
- python - 我对机器人框架相当陌生,我有一个要求,我需要测试 CSV 文件中的两列
- reactjs - 如何自动裁剪刚刚使用 react-native-camera 拍摄的图像
- php - 在 LARAVEL 中转换 JSON
- c++ - 通过 Gstreamer 将流元数据添加到流中
- android - 从kotlin中的数据类中获取参数的值
- node.js - 温斯顿不仅有同等水平
- node.js - 处理 twilio 呼叫中断的方法
- delphi - 在 Delphi 中使用 EnumDisplayDevices 打印显示器的名称
- java - Java Spring RestTemplate 响应头编码