0

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');"

失敗。

4

0 に答える 0