Ce sujet a été résolu
Par contre le Scroll me fait descendre un peu trop bas , c'est quoi la variable a modifier pour remonter un peu?
il y a 2 ans
J'ai update le script.
On peut maintenant sauter une ligne avec Shift + Entré et l'autoscroll s'active que quand la zone d'écriture du texte est visible
On peut maintenant sauter une ligne avec Shift + Entré et l'autoscroll s'active que quand la zone d'écriture du texte est visible
il y a 2 ans
pareil
je suis sur Brave je clique sur "télécharger" ça m'envoie vers une page avec du code et c'est tout
je suppose que faudrait le c/c sur tampermonkey, mais les lignes de code c'est un top produit à condition de ne pas dépasser 8 ou 9 donc perso flemme
je suis sur Brave je clique sur "télécharger" ça m'envoie vers une page avec du code et c'est tout
je suppose que faudrait le c/c sur tampermonkey, mais les lignes de code c'est un top produit à condition de ne pas dépasser 8 ou 9 donc perso flemme
Vous ne pouvez pas l'installer sur Brave mobile.
Les seuls navigateurs qui supportent les extensions sur mobile sont Firefox et Kiwi Browser qui est basé sur Chromium (et y'a aussi Yandex techniquement, même si ça a l'air un peu plus galère)
Les seuls navigateurs qui supportent les extensions sur mobile sont Firefox et Kiwi Browser qui est basé sur Chromium (et y'a aussi Yandex techniquement, même si ça a l'air un peu plus galère)
il y a 2 ans
Ceux qui n'arrive pas à l'installer vous n'avez qu'à le copier-coller puis l'enregistrer sur temper manqué manuellement
il y a 2 ans
Ceux qui veulent le code :
// ==UserScript==
// @name On'Chat
// @namespace http://tampermonkey.net/
// @version 0.1
// @description Ajoute un LiveChat sur onche.org comme sur JVChat
// @author [email protected]
// @match
https://onche.org/topic/*
// @icon
https://www.google.com/s2[...]p;domain=tampermonkey.net
// @grant none
// ==/UserScript==
(function() {
'use strict';
// CONFIGURATION
const MESSAGES_PER_PAGES = 20;
// Variables for the keyboard event
const textarea = document.querySelector(".textarea");
const button = document.querySelector("input.button");
textarea.addEventListener("keydown", (event) => {
// Check if the pressed key is Enter and the Shift key isn't pressed
if (event.key === "Enter" && !event.shiftKey ) {
// Prevent the default behavior of the Enter key (i.e., inserting a newline)
event.preventDefault();
// Trigger the button click
button.click();
}
});
const fullUrlString = document.querySelector("div.pagination a.active").getAttribute('href');
// The
const rawUrlString = fullUrlString.split('\/').slice(0, -1).join('\/');
let activePage = parseInt(document.querySelector('.active').text, 10);
const allPagesElements = document.querySelectorAll("div.content.pagination div.pagination")[0].querySelectorAll('a');
let currentMessageCount = document.querySelectorAll("div.messages div.message:not(.answer)").length;
let initialMaxPage = parseInt(allPagesElements[allPagesElements.length - 1].text, 10);
console.log("Script is on")
console.log(rawUrlString)
function callMakeRequest() {
makeRequest(rawUrlString + "/" + activePage)
}
function isElementVisible(el) {
const rect = el.getBoundingClientRect();
return (
rect.top >= 0 &&
rect.left >= 0 &&
rect.bottom <= (window.innerHeight || document.documentElement.clientHeight) &&
rect.right <= (window.innerWidth || document.documentElement.clientWidth)
);
}
function makeRequest(url) {
// Create a new XMLHttpRequest object
const xhr = new XMLHttpRequest();
// Define the URL and method of the request
const method = "GET";
// Open the request with the URL and method
xhr.open(method, url);
// Define the callback function to read the response
xhr.onload = function() {
if (xhr.status === 200) {
const response = xhr.responseText;
// console.log(response)
const parser = new DOMParser();
const htmlDocument = parser.parseFromString(response, "text/html"); // Parse the HTML response
let messageCount = htmlDocument.querySelectorAll("div.messages div.message:not(.answer)").length
console.log(htmlDocument.querySelectorAll("div.messages div.message:not(.answer)"))
console.log("Number of text messages:", messageCount);
if (messageCount > currentMessageCount) {
console.log("New message")
let numberOfMessagesToAdd = messageCount - currentMessageCount;
let nodeArray = htmlDocument.querySelectorAll("div.messages div.message:not(.answer)")
let substring = Array.from(nodeArray).slice(messageCount - numberOfMessagesToAdd, messageCount);
// For each elements that we received. We apppend it to the messages
substring.forEach(element => {
document.querySelector('.messages').appendChild(element);
});
currentMessageCount = messageCount;
// If the textarea is visible we scroll
if (isElementVisible(textarea)) {
// execute the action if the element is visible
document.querySelector(".textarea").scrollIntoView({
block: "center",
inline: "nearest",
behavior: "smooth"
});
}
if (currentMessageCount === MESSAGES_PER_PAGES) {
activePage += 1
currentMessageCount = 0
}
}
//console.log(response);
// Replace this with your actual response handling code
}
};
// Send the request
xhr.send();
}
console.log()
if (activePage !== initialMaxPage) { return }
setInterval(callMakeRequest, 2000);
})();
// ==UserScript==
// @name On'Chat
// @namespace http://tampermonkey.net/
// @version 0.1
// @description Ajoute un LiveChat sur onche.org comme sur JVChat
// @author [email protected]
// @match
// @icon
// @grant none
// ==/UserScript==
(function() {
'use strict';
// CONFIGURATION
const MESSAGES_PER_PAGES = 20;
// Variables for the keyboard event
const textarea = document.querySelector(".textarea");
const button = document.querySelector("input.button");
textarea.addEventListener("keydown", (event) => {
// Check if the pressed key is Enter and the Shift key isn't pressed
if (event.key === "Enter" && !event.shiftKey ) {
// Prevent the default behavior of the Enter key (i.e., inserting a newline)
event.preventDefault();
// Trigger the button click
button.click();
}
});
const fullUrlString = document.querySelector("div.pagination a.active").getAttribute('href');
// The
const rawUrlString = fullUrlString.split('\/').slice(0, -1).join('\/');
let activePage = parseInt(document.querySelector('.active').text, 10);
const allPagesElements = document.querySelectorAll("div.content.pagination div.pagination")[0].querySelectorAll('a');
let currentMessageCount = document.querySelectorAll("div.messages div.message:not(.answer)").length;
let initialMaxPage = parseInt(allPagesElements[allPagesElements.length - 1].text, 10);
console.log("Script is on")
console.log(rawUrlString)
function callMakeRequest() {
makeRequest(rawUrlString + "/" + activePage)
}
function isElementVisible(el) {
const rect = el.getBoundingClientRect();
return (
rect.top >= 0 &&
rect.left >= 0 &&
rect.bottom <= (window.innerHeight || document.documentElement.clientHeight) &&
rect.right <= (window.innerWidth || document.documentElement.clientWidth)
);
}
function makeRequest(url) {
// Create a new XMLHttpRequest object
const xhr = new XMLHttpRequest();
// Define the URL and method of the request
const method = "GET";
// Open the request with the URL and method
xhr.open(method, url);
// Define the callback function to read the response
xhr.onload = function() {
if (xhr.status === 200) {
const response = xhr.responseText;
// console.log(response)
const parser = new DOMParser();
const htmlDocument = parser.parseFromString(response, "text/html"); // Parse the HTML response
let messageCount = htmlDocument.querySelectorAll("div.messages div.message:not(.answer)").length
console.log(htmlDocument.querySelectorAll("div.messages div.message:not(.answer)"))
console.log("Number of text messages:", messageCount);
if (messageCount > currentMessageCount) {
console.log("New message")
let numberOfMessagesToAdd = messageCount - currentMessageCount;
let nodeArray = htmlDocument.querySelectorAll("div.messages div.message:not(.answer)")
let substring = Array.from(nodeArray).slice(messageCount - numberOfMessagesToAdd, messageCount);
// For each elements that we received. We apppend it to the messages
substring.forEach(element => {
document.querySelector('.messages').appendChild(element);
});
currentMessageCount = messageCount;
// If the textarea is visible we scroll
if (isElementVisible(textarea)) {
// execute the action if the element is visible
document.querySelector(".textarea").scrollIntoView({
block: "center",
inline: "nearest",
behavior: "smooth"
});
}
if (currentMessageCount === MESSAGES_PER_PAGES) {
activePage += 1
currentMessageCount = 0
}
}
//console.log(response);
// Replace this with your actual response handling code
}
};
// Send the request
xhr.send();
}
console.log()
if (activePage !== initialMaxPage) { return }
setInterval(callMakeRequest, 2000);
})();
il y a 2 ans
Vous ne pouvez pas l'installer sur Brave mobile.
Les seuls navigateurs qui supportent les extensions sur mobile sont Firefox et Kiwi Browser qui est basé sur Chromium (et y'a aussi Yandex techniquement, même si ça a l'air un peu plus galère)
Les seuls navigateurs qui supportent les extensions sur mobile sont Firefox et Kiwi Browser qui est basé sur Chromium (et y'a aussi Yandex techniquement, même si ça a l'air un peu plus galère)
je me suis mal exprimé, je suis sur Brave sur pc
je suppose qu'il faut ajouter le script manuellement via un c/c du code je tenterai plus tard merci à tous les jeunes talents impliqués dans ce script ou qui aident pour son installation en tout cas
je suppose qu'il faut ajouter le script manuellement via un c/c du code je tenterai plus tard merci à tous les jeunes talents impliqués dans ce script ou qui aident pour son installation en tout cas
il y a 2 ans
je me suis mal exprimé, je suis sur Brave sur pc
je suppose qu'il faut ajouter le script manuellement via un c/c du code je tenterai plus tard merci à tous les jeunes talents impliqués dans ce script ou qui aident pour son installation en tout cas
je suppose qu'il faut ajouter le script manuellement via un c/c du code je tenterai plus tard merci à tous les jeunes talents impliqués dans ce script ou qui aident pour son installation en tout cas
Tu as juste à installer Tampermonkey et copié collé le code source
il y a 2 ans
ANTOlNEFORUM2
2 ans
Ceux qui veulent le code :
// ==UserScript==
// @name On'Chat
// @namespace http://tampermonkey.net/
// @version 0.1
// @description Ajoute un LiveChat sur onche.org comme sur JVChat
// @author [email protected]
// @match
https://onche.org/topic/*
// @icon
https://www.google.com/s2[...]p;domain=tampermonkey.net
// @grant none
// ==/UserScript==
(function() {
'use strict';
// CONFIGURATION
const MESSAGES_PER_PAGES = 20;
// Variables for the keyboard event
const textarea = document.querySelector(".textarea");
const button = document.querySelector("input.button");
textarea.addEventListener("keydown", (event) => {
// Check if the pressed key is Enter and the Shift key isn't pressed
if (event.key === "Enter" && !event.shiftKey ) {
// Prevent the default behavior of the Enter key (i.e., inserting a newline)
event.preventDefault();
// Trigger the button click
button.click();
}
});
const fullUrlString = document.querySelector("div.pagination a.active").getAttribute('href');
// The
const rawUrlString = fullUrlString.split('\/').slice(0, -1).join('\/');
let activePage = parseInt(document.querySelector('.active').text, 10);
const allPagesElements = document.querySelectorAll("div.content.pagination div.pagination")[0].querySelectorAll('a');
let currentMessageCount = document.querySelectorAll("div.messages div.message:not(.answer)").length;
let initialMaxPage = parseInt(allPagesElements[allPagesElements.length - 1].text, 10);
console.log("Script is on")
console.log(rawUrlString)
function callMakeRequest() {
makeRequest(rawUrlString + "/" + activePage)
}
function isElementVisible(el) {
const rect = el.getBoundingClientRect();
return (
rect.top >= 0 &&
rect.left >= 0 &&
rect.bottom <= (window.innerHeight || document.documentElement.clientHeight) &&
rect.right <= (window.innerWidth || document.documentElement.clientWidth)
);
}
function makeRequest(url) {
// Create a new XMLHttpRequest object
const xhr = new XMLHttpRequest();
// Define the URL and method of the request
const method = "GET";
// Open the request with the URL and method
xhr.open(method, url);
// Define the callback function to read the response
xhr.onload = function() {
if (xhr.status === 200) {
const response = xhr.responseText;
// console.log(response)
const parser = new DOMParser();
const htmlDocument = parser.parseFromString(response, "text/html"); // Parse the HTML response
let messageCount = htmlDocument.querySelectorAll("div.messages div.message:not(.answer)").length
console.log(htmlDocument.querySelectorAll("div.messages div.message:not(.answer)"))
console.log("Number of text messages:", messageCount);
if (messageCount > currentMessageCount) {
console.log("New message")
let numberOfMessagesToAdd = messageCount - currentMessageCount;
let nodeArray = htmlDocument.querySelectorAll("div.messages div.message:not(.answer)")
let substring = Array.from(nodeArray).slice(messageCount - numberOfMessagesToAdd, messageCount);
// For each elements that we received. We apppend it to the messages
substring.forEach(element => {
document.querySelector('.messages').appendChild(element);
});
currentMessageCount = messageCount;
// If the textarea is visible we scroll
if (isElementVisible(textarea)) {
// execute the action if the element is visible
document.querySelector(".textarea").scrollIntoView({
block: "center",
inline: "nearest",
behavior: "smooth"
});
}
if (currentMessageCount === MESSAGES_PER_PAGES) {
activePage += 1
currentMessageCount = 0
}
}
//console.log(response);
// Replace this with your actual response handling code
}
};
// Send the request
xhr.send();
}
console.log()
if (activePage !== initialMaxPage) { return }
setInterval(callMakeRequest, 2000);
})();
// ==UserScript==
// @name On'Chat
// @namespace http://tampermonkey.net/
// @version 0.1
// @description Ajoute un LiveChat sur onche.org comme sur JVChat
// @author [email protected]
// @match
// @icon
// @grant none
// ==/UserScript==
(function() {
'use strict';
// CONFIGURATION
const MESSAGES_PER_PAGES = 20;
// Variables for the keyboard event
const textarea = document.querySelector(".textarea");
const button = document.querySelector("input.button");
textarea.addEventListener("keydown", (event) => {
// Check if the pressed key is Enter and the Shift key isn't pressed
if (event.key === "Enter" && !event.shiftKey ) {
// Prevent the default behavior of the Enter key (i.e., inserting a newline)
event.preventDefault();
// Trigger the button click
button.click();
}
});
const fullUrlString = document.querySelector("div.pagination a.active").getAttribute('href');
// The
const rawUrlString = fullUrlString.split('\/').slice(0, -1).join('\/');
let activePage = parseInt(document.querySelector('.active').text, 10);
const allPagesElements = document.querySelectorAll("div.content.pagination div.pagination")[0].querySelectorAll('a');
let currentMessageCount = document.querySelectorAll("div.messages div.message:not(.answer)").length;
let initialMaxPage = parseInt(allPagesElements[allPagesElements.length - 1].text, 10);
console.log("Script is on")
console.log(rawUrlString)
function callMakeRequest() {
makeRequest(rawUrlString + "/" + activePage)
}
function isElementVisible(el) {
const rect = el.getBoundingClientRect();
return (
rect.top >= 0 &&
rect.left >= 0 &&
rect.bottom <= (window.innerHeight || document.documentElement.clientHeight) &&
rect.right <= (window.innerWidth || document.documentElement.clientWidth)
);
}
function makeRequest(url) {
// Create a new XMLHttpRequest object
const xhr = new XMLHttpRequest();
// Define the URL and method of the request
const method = "GET";
// Open the request with the URL and method
xhr.open(method, url);
// Define the callback function to read the response
xhr.onload = function() {
if (xhr.status === 200) {
const response = xhr.responseText;
// console.log(response)
const parser = new DOMParser();
const htmlDocument = parser.parseFromString(response, "text/html"); // Parse the HTML response
let messageCount = htmlDocument.querySelectorAll("div.messages div.message:not(.answer)").length
console.log(htmlDocument.querySelectorAll("div.messages div.message:not(.answer)"))
console.log("Number of text messages:", messageCount);
if (messageCount > currentMessageCount) {
console.log("New message")
let numberOfMessagesToAdd = messageCount - currentMessageCount;
let nodeArray = htmlDocument.querySelectorAll("div.messages div.message:not(.answer)")
let substring = Array.from(nodeArray).slice(messageCount - numberOfMessagesToAdd, messageCount);
// For each elements that we received. We apppend it to the messages
substring.forEach(element => {
document.querySelector('.messages').appendChild(element);
});
currentMessageCount = messageCount;
// If the textarea is visible we scroll
if (isElementVisible(textarea)) {
// execute the action if the element is visible
document.querySelector(".textarea").scrollIntoView({
block: "center",
inline: "nearest",
behavior: "smooth"
});
}
if (currentMessageCount === MESSAGES_PER_PAGES) {
activePage += 1
currentMessageCount = 0
}
}
//console.log(response);
// Replace this with your actual response handling code
}
};
// Send the request
xhr.send();
}
console.log()
if (activePage !== initialMaxPage) { return }
setInterval(callMakeRequest, 2000);
})();
upgrade la version dans ton code pour que tampermonkey detecte l'update
il y a 2 ans
bof faudrait vraiment qu'il y ait un mode comme JVChat, mais c'est déjà pas mal merci AntoineForum, il y avait un autre khey qui y travaillait aussi
il y a 2 ans
car si il y a pas de mode OnChat et que c'est activé par défaut laisse tomber la surcharge serveur
il y a 2 ans
upgrade la version dans ton code pour que tampermonkey detecte l'update
C'est fait sur le git
il y a 2 ans
ça marche comment, j'ai mis le script mais je vois pas de différence
Sans régiment, toujours en course dans le NNN en solo
il y a 2 ans
Alors ça marche
?

L'autoscroll marche pas j'ai l'impression, je suis sur firefox
il y a 2 ans