我们最初有一个带有 HTML 下拉菜单和 Applet 的网页。这些下拉菜单中的每一个都会触发一个调用applet 函数的javascript 函数。小程序还调用 javascript 函数来启用/禁用下拉菜单。
问题是 HTML 下拉菜单被 applet 截断,因为大多数浏览器忽略了 applet 的 z-index。我发现的唯一解决方案是将 Applet 放入 iFrame。
现在所有被 HTML 下拉触发的小程序的 javascript 调用都被破坏了。Applet 调用的 Javascript 现在已损坏。
所有 javascript 函数都存储在父窗口中加载的一个大 javascript 文件中。
我一直在做这样的事情,但这将是很多工作并且会使维护变得困难:
var appletIFRAME= document.getElementById('appletIFRAME').contentWindow;
appletIFRAME.executeAction1= executeAction1;
appletIFRAME.executeAction2= executeAction2;
...
...
这工作正常,但我相信我还需要在父窗口和 IFRAME 网页上创建包装 javascript 函数。此外,我们的 javascript 函数正在使用 jQuery 通过 ID 访问 HTML 下拉元素,这也需要重构。这将是太多的工作。
那么有没有更简单的方法在父窗口和 IFRAME 之间调用 javascript?我想避免在父窗口和 iframe 对象之间进行所有这些函数映射。所有 javascript 函数都存储在一个加载在父窗口中的 javascript 文件中。
只想补充一点,HTML 下拉菜单位于父窗口中,而 Applet 位于 iFrame 中。这是下拉菜单不会被 Applet 截断的唯一方法。
提前致谢。