Loading state
ページがリダイレクトされる前に divを追加しようとしています。( https://almsaeedstudio.com/themes/AdminLTE/documentation/index.html )
私のページには次のリンクがあります。
<a onclick="showBubble('bubble-placeholder'); return true;" href="http://example.com">Link
</a>
function showBubble(boxClass) {
$('.' + boxClass).append('<div class="overlay"><i class="fa fa-refresh fa-spin"></i></div>');
}
リンクがクリックされると、showBubble はページ上の他の div に div を追加します。そして、http://example.comへのリダイレクトがあります。
すべてのブラウザで問題なく動作しますが、Ipad の Webkit ブラウザでは動作しません。
ここで同様の問題を見つけました Chrome/Mac で DOM の再描画/更新を強制する こことhttp://www.eccesignum.org/blog/solving-display-refreshredrawrepaint-issues-in-webkit-browsers
しかし、これらの解決策はどれも私にはうまくいきません。私は試した:
$('#parentOfElementToBeRedrawn').hide().show(0);
と
$(window).trigger('resize');
と
var n = document.createTextNode(' ');
$('#myElement').append(n);
setTimeout(function(){n.parentNode.removeChild(n)}, 0);
また、「example.com」から戻るボタンをクリックして前のページに戻ると、バブルが表示されます。そのため、Webkit ブラウザーは、ページを離れる前にページを更新しないことを選択したようです。
また、ボックスに要素を追加する代わりに、ボタンのテキストを変更するなど、より簡単なことを試しました。それもうまくいきません。リンクをクリックしてもページが更新されません。
さらに、showBubble 関数の後に onClick プロパティに alert('123') を配置すると、アラートは表示されますが、ページはまだ更新されません。
しかし、タグから href プロパティを削除する<a>
と、バブルが表示され、すべてが機能します。まあ、それを除いて、それはもうリンクではありません:)
私は href を取り除こうとしました:
onclick="showBubble('bubble-placeholder'); window.location.replace('www.example.com');"
失敗。