从两个 HTML 文件访问 Forge 查看器

我一直在开发一个包含 autodesk-forge 查看器的网站(更多细节可以在我过去的问题中看到)。我已经在一个标准的 javascript (.js) 文件中成功地制作了许多 autodesk-forge 查看器功能。这些功能包括在按下外部按钮时显示查看器和隔离到特定部分。目前我有一个主要的 html/php 主页,其中包含我的 javascript 文件以及我使用的所有伪造函数。<script src="MyForgeFunctions.js"></script> 这些函数是通过一个按钮访问的,该按钮成功地在 html 页面中显示查看器。附加到我的主 php/html 页面,通过 iframe html 引用添加了另一个 html/php 页面(<iframe src="URL.php"></iframe>)。我的主页显示了我们制作的主要机器,而嵌入的 php/html 页面显示了机器内的所有站点。我还在第二个 php/html 页面中包含了 MyForgeFunctions.js。由于网站的设置方式,我需要能够访问两个网页中的查看器。但是,当我尝试从第二个 html 页面访问查看器时,我收到一条消息,指出查看器未定义。下面是我的来自 MyForgeFunctions.js 的代码。


由于网页的设置方式,当我需要在第一个网页中使用第二个网页中的变量时,我使用了 sessionStorage.getItem 和 sessionStorage.setItem。我还在 MyForgeFunctions.js 中做了一个简单的函数:

function checkViewer(){
console.log(viewer);
}

然后,我在两个 html 页面中都包含了一个按钮,以通过 onclick 事件执行该功能。从第一个/主页 html 页面运行该函数时,将显示以下内容: T {globalManager: e, clientContainer: div#forgeViewer, container: div.adsk-viewing-viewer.notouch.dark-theme.quality-text, config: {…}, contextMenu: o, …}. 这对查看器来说是正常的,但是当从第二个 html 页面执行该函数时,查看器是未定义的。任何有关为什么会发生这种情况或任何解决方案的帮助将不胜感激。干杯!


莫回无
浏览 72回答 1
1回答

慕标琳琳

在 iframe 中,为了访问主网页内的查看器,我必须使用 (parent.viewer)。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript