我正在做一个项目,我需要动态构建来自不同来源(相同域)的 Web 内容。所有主要库和 css 都集中管理,但根据配置,我必须将页面(html 和嵌入式 JavaScript)添加为“选项卡内容”。
我的第一种方法是使用 iframe,除了我有一些重复代码(尤其是标题)的烦恼之外,它运行良好。我在框架尺寸方面也遇到了一些问题,但最终我可以处理。
当然,现在我读到 iframe 是邪恶的,但我发现的几乎所有替代方案都是使用 php 或其他服务器端的。不幸的是,我的网络服务器没有提供类似的东西,所以我遇到了 jQuery 的加载功能。我的第一次尝试是令人满意的,但现在让我感到不安的是管理(全局)变量(和函数)。因为 jQuery.load() 只是将代码插入到 DOM 中,所以在这里命名时我总是需要非常小心。例如,我通常有一个名为 init() 的函数,它包含在 onload-Event 的主体中。但是每个其他页面也需要其中一个。
该项目很可能会增长(也许在某些时候甚至外部开发人员也会参与其中)。我现在处于必须决定走哪条路的地步,我很伤心。
所以我的问题:即使 iframe 是邪恶的,我的经验是它比通过 jQuery 插入代码(在这种特殊情况下)更容易和安全。哦,那不是问题……问题是:有没有办法将变量和函数封装到我用 jQuery 加载的内容中?或者在这种情况下可能有更好的方法来处理变量/函数。
我很感激任何建议。