遅いマクロがスローダウンのページのロードをいけないので、あなたの合流ページをAJAXする方法
-
21-09-2019 - |
質問
一部のページそのような使用マクロます:
topusersまたはpopularlabels
負荷に本当に遅いです。代わりに、このブロックの初期ページのロードを持つの非同期AJAXを通じて、この負荷を持ってする方法はありますか?
解決
の今後のマクロは、絶対にこれを行うための最善の方法は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();
このコードは、ページが完全にロードされるまで待機してから、広告をロードする関数を呼び出します。
所属していません StackOverflow