私もこの問題に直面しています。これは私の回避策です。ユーザーがモバイル ブラウザのクリップボードで確認/戻るボタンを押して選択を確認する
と、イベントが発生します。selectionEnd
var longpress = false;
var longpressTimer = null;
var loop = null;
var latestSelection = null;
window.ontouchstart = function(){
longpressTimer = setTimeout(function(){
longpress = true;
loop = setInterval(getSelection, 200);
}, 500)
};
window.ontouchend = function(){
if(longpressTimer){
clearTimeout(longpressTimer);
}
longpress = false;
}
var getSelection = function (){
var s = window.getSelection();
if(s.rangeCount > 0){
latestSelection = s.getRangeAt(0);
}else{
clearInterval(loop);
var selEndEvent = new CustomEvent("selectionEnd", {"detail": latestSelection});
window.dispatchEvent(selEndEvent);
}
}
長押しが実行されると、選択を監視するための間隔が開始されます。次に、ユーザーが選択を確認すると、クリップボードが自動的に削除します。これにより、監視ループが中断され、selectionEnd イベントが送信されます。
最後に選択したテキストの詳細プロパティにアクセスできます。
この問題に関するニュースを受け取り、より良い解決策を得られることを願っています。