2016-11-08 7 views
0

My Xpageが読み込みに時間がかかります。だから私はページが完全に機能しているときに消えなければならないローディングインジケータを作るように要求されました。
私はXSP.startAjaxLoading()を使用しようとしましたが、私はXSP.endAjaxLoading()をどこに置くか分かりませんでした。XPageの初期ロードでインジケータを読み込む

+0

あなたとエレロルド・オリベイラはお互いを知っていますか? :-) Eleonardoのほぼ同じ質問を参照してください:http://stackoverflow.com/questions/40427156/where-should-i-use-xsp-endajaxloading –

+0

[OK]を1つだけ質問を追加してください。あなたの解決策について聞くのを楽しみにして(答えとして) –

+0

彼はすでに答えを見つけました。ありがとうございました! –

答えて

1

  • 軽量高速な負荷のXPageがonClientLoadイベントでwindow.location = "your.xsp"とあなたの本当の初期のXPageを呼び出す
  • クライアント側の負荷インジケータを示し、
  • 作成します。

メインXPageがまだレンダリングされていない限り、ロードインジケータが表示されます。

+0

ありがとう私たちは答えを見つけました: http ://stackoverflow.com/a/35481981/5339322 –

0

あり、これを行うための非常に多くの方法がありますが、最も簡単には常にクライアント上の負荷を示してdiv要素を作成することですし、これは簡単なCSSを書くことで実現できます。

以下w3schoolからコピーされたCSS: CSS:

function showLoad() { 
 
\t document.getElementById("spinner").style.display = 'block'; 
 
}

.loader { 
 
     border: 5px solid #f3f3f3; /* Light grey */ 
 
     border-top: 5px solid #3498db; /* Blue */ 
 
     border-radius: 50%; 
 
     width: 40px; 
 
     height: 40px; 
 
     animation: spin 2s linear infinite; 
 
    } 
 

 
    @keyframes spin { 
 
     0% { transform: rotate(0deg); } 
 
     100% { transform: rotate(360deg); } 
 
    }

スクリプトは、負荷を表示します

のXPageで本部:

<div class="loader" id="spinner" style="display:none"></div> 
 
<xp:button value="Display Load" id="button1"> 
 
<xp:eventHandler event="onclick" submit="false"> 
 
    <xp:this.script><![CDATA[showLoad();]]></xp:this.script> 
 
</xp:eventHandler></xp:button>

私はこのことができます願っています。

関連する問題