Forge Viewer v7中Autodesk.InViewerSearch扩展注册及A360ViewingApplication报错咨询
解决方案
1. Autodesk.Viewing.A360ViewingApplication 报错说明
该类是 Forge Viewer v6 及更早版本提供的旧版上层应用封装接口,从 v7 版本开始已经被官方正式废弃并从核心包中移除,因此在v7环境下调用该构造函数会触发“不是构造函数”的报错。你目前改用Autodesk.Viewing.GuiViewer3D直接初始化查看器的写法完全符合v7版本的开发规范,无需再使用该旧封装类。
2. Autodesk.InViewerSearch扩展未注册解决方法
该问题由核心包未内置该扩展导致,按以下步骤处理即可:
- Forge Viewer v7的核心包
viewer3D.min.js仅打包了高频使用的基础扩展,InViewerSearch属于可选功能扩展,没有内置在核心包中,需要在HTML的Viewer资源引入部分,额外添加该扩展对应的独立脚本资源,完成后该扩展才会被注册到Viewer环境中。 - 引入扩展资源后,若仍有加载问题,可在模型加载完成的回调函数中手动调用加载方法验证状态,示例代码如下:
// 放在onDocumentLoadSuccess回调内,模型加载完成后执行 viewer.loadExtension('Autodesk.InViewerSearch', { uiEnabled: false, relatedItemsTab: { enabled: true, displayName: 'This Item', pageSize: 20 }, loadedModelTab: { enabled: true, displayName: 'This View', pageSize: 50 } }).then(ext => { console.log('InViewerSearch扩展加载成功', ext); }).catch(err => { console.error('扩展加载失败', err); });
如果你选择手动加载扩展,无需再将Autodesk.InViewerSearch和对应的配置参数放在config3d中,直接作为loadExtension方法的第二个参数传入配置即可。
内容的提问来源于stack exchange,提问作者Aleksandar
相关产品推荐
相关产品推荐

