Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // ==UserScript==
- // @name curseur après sticker
- // @match https://www.jeuxvideo.com/forums/*.htm
- // @grant none
- // @noframes
- // ==/UserScript==
- "use strict";
- (() => {
- let positionducurseur = 0;
- let longueurdutextpourfalse;
- let longueurdutextpourtrue = 0;
- let positiondelabarredescroll;
- let boutondemiseenforme = ".buttonsEditor button:is([title='Gras'],[title='Italique'],[title='Souligné'],[title='Barré'],[title='Liste'],[title='Listes numérotées'], [title='Citation'],[title='Code'],[title='Spoiler'])";
- let lapositionaprescalcul;
- document.addEventListener("input", nomdelafonction, true);
- document.addEventListener("click", nomdelafonction, true);
- document.addEventListener("keyup", nomdelafonction, true);
- function nomdelafonction (quelquechose){
- let textarea = document.querySelector("#message_topic.js-textarea-message-editor.messageEditor__edit");
- if(!textarea){return;}
- if(quelquechose.target === textarea){
- if(quelquechose.isTrusted === false){
- longueurdutextpourfalse = textarea.textLength;
- lapositionaprescalcul = positionducurseur + longueurdutextpourfalse - longueurdutextpourtrue;
- textarea.setSelectionRange(lapositionaprescalcul, lapositionaprescalcul);
- textarea.focus();
- } else {
- longueurdutextpourtrue = textarea.textLength;
- positionducurseur = textarea.selectionStart;
- }
- } else if (quelquechose.target.matches("img.smileys__img")){
- positionducurseur = textarea.selectionStart;
- longueurdutextpourtrue = textarea.textLength;
- let textdusmiley = quelquechose.target.closest(".smileys__cell").nextElementSibling?.textContent || "";
- lapositionaprescalcul = positionducurseur + textdusmiley.length + 2;
- if(!quelquechose.target.closest(boutondemiseenforme)){positiondelabarredescroll = textarea.scrollTop;}
- requestAnimationFrame(() => {
- textarea.setSelectionRange(lapositionaprescalcul, lapositionaprescalcul);
- textarea.scrollTop = positiondelabarredescroll;
- })
- } else if (quelquechose.target.matches(".video__buttonVideoModal")){
- positionducurseur = textarea.selectionStart;
- longueurdutextpourtrue = textarea.textLength;
- if(!quelquechose.target.closest(boutondemiseenforme)){positiondelabarredescroll = textarea.scrollTop;}
- requestAnimationFrame(() => {
- lapositionaprescalcul = textarea.value.indexOf("]]", positionducurseur) + 3;
- textarea.setSelectionRange(lapositionaprescalcul, lapositionaprescalcul);
- textarea.scrollTop = positiondelabarredescroll;
- })
- } else if (quelquechose.target.matches("button.simpleButton.imageUploadEditor__btnImg")){
- positionducurseur = textarea.selectionStart;
- longueurdutextpourtrue = textarea.textLength;
- let longueurdetouslesimages = Array.from(document.querySelectorAll(".imageUploadEditor__img"), (el)=>el.src.replace("https://image.noelshack.com/minis/","https://www.noelshack.com/")).join(" ").length;
- lapositionaprescalcul = positionducurseur + longueurdetouslesimages + 1;
- if(!quelquechose.target.closest(boutondemiseenforme)){positiondelabarredescroll = textarea.scrollTop;}
- requestAnimationFrame(() => {
- textarea.setSelectionRange(lapositionaprescalcul, lapositionaprescalcul);
- textarea.scrollTop = positiondelabarredescroll;
- })
- }
- if(navigator.userAgent.indexOf("Chrome") != -1){
- if(!quelquechose.target.closest(boutondemiseenforme)){positiondelabarredescroll = textarea.scrollTop;}
- if(quelquechose.target.closest(boutondemiseenforme)){
- requestAnimationFrame(() => {
- textarea.scrollTop = positiondelabarredescroll;
- })
- }
- }
- }
- })();
Advertisement
Add Comment
Please, Sign In to add comment