我在 SharePoint 2007 中有一个内容编辑器 Web 部件,它包含一个在具有不同 JavaScript 源的页面上插入多个标签的功能。
出于某种原因,加载我的 JavaScript 源(API)之一需要大约 4-5 分钟和几次刷新。通常,这只会在早上我第一次访问我的 SharePoint 网站时发生。
这个问题过去经常发生,但我已经放置了一系列按钮来触发重新加载页面上包含脚本源代码的函数(参见下面的代码块:感谢 Herve Tourpe)
有人可以告诉我为什么会这样吗?
有关更多信息,我正在使用 MIT Simile Timeline API。通常,一旦我早上登录该站点,页面上的错误是“时间轴”未定义(显然,这是 API 文件中最完整的类)。
对我来说,这要么意味着执行时间线的函数没有等待足够长的时间来加载 API,要么是以下函数存在某种问题:
function includeJSScript(p_file) {
// before we insert this script, we need to check if it already exists
var bAlreadyExists = false;
var scripts = document.getElementsByTagName('script');
for (var i = 0; i < scripts.length; i++) {
if (scripts[i].src == p_file) {
bAlreadyExists = true;
break;
}
}
if (!bAlreadyExists) {
var v_script = document.createElement('script');
v_script.type = 'text/javascript';
v_script.src = p_file;
document.getElementsByTagName('head')[0].appendChild(v_script);
}
}