一些使用宏的页面,例如:
顶级用户或流行标签
加载速度真的很慢。有什么方法可以通过 ajax 异步加载而不是阻止初始页面加载?
Future 宏绝对是 100% 的最佳方式。
我们在 Confluence 2.10.3 实例上大量使用它来加速一切,但我还没有使用更新的版本对其进行测试。
https://labs.atlassian.com/wiki/display/FUTURE/Home
我制作了一个小视频来展示它的工作原理 - 连接到 SharePoint 服务器以呈现文档列表。这不是一个完美的演示,但可以让您了解它的作用。
我也制作了一个视频,但还没有 StackOverFlow 代表在这里发布,所以这里是 URL screencast.com/t/tz8xdSCQYxp 的一部分
布伦丹
如果您考虑使用 jQuery 库,它具有对异步 ajax 请求的内置支持。
也许谷歌分析方法会帮助你。
(function() {
var delayed = document.createElement('script');
delayed.type = 'text/javascript';
delayed.async = true;
delayed.src = 'URL_AD_SERVER';
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(delayed);
})();
但是,我不知道依赖项如何工作:)
实际上,您需要做的就是将加载推迟到页面加载之后。为此,您可以创建一个 javascript 函数来设置您正在加载的脚本标签,然后在主体完成加载时调用此函数。您可以通过以下方式做到这一点:
function loadConfluence() {
var ads = document.createElement('script');
ads.async = true;
ads.src = 'your_ad_url';
return document.getElementsByTagName('body')[0].appendChild(ads);
};
window.onload = loadConfluence();
此代码将等待页面完全加载,然后调用该函数来加载您的广告。