遅いマクロがスローダウンのページのロードをいけないので、あなたの合流ページをAJAXする方法

StackOverflow https://stackoverflow.com/questions/2296204

  •  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();
このコードは、ページが完全にロードされるまで待機してから、広告をロードする関数を呼び出します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top