W chatgpt.com, textarea jest czyszczona po 1 sekundzie od załadowania strony. Przez to skrypt który wkleja tekst poprzez textareaEl.value = "tekst" nie wystarcza.
Zrobiłem z setTimeout 1001 ms, to działa, już przy 1000 ms nie działa. Observery nie ogarniają, ale może źle coś robię? Z opóźnieniem 1001 ms jest to zawodne, bo czasem dzieje się to w dłuższym czasie, więc pomóż znaleźć lepszą metodę?
Następny problem, to że nawet jak wpiszę, to buttonEl.click(); i tak nie zadziała, bo aktywuje się dopiero po wpisaniu czegoś z klawiatury, a wywołanie event keydown itp. też nie działa. Więc pozostaje po wklejeniu poprzez textareaEl.value = "tekst", naciśnięcie jakiegoś znaku na klawiaturze, skasowanie go, i naciśnięcie Enter, żeby wiadomość została wysłana. Też mógłbyś pomóc to rozwiązać?
Dosłownie nie ma metody, żeby stworzyć Search Engine dla Firefox dla ChatGPT. :/
Metoda którą opisałem, jest niedoskonała oraz niedokończona.
Przed tymi dwoma krokami, po prostu pobieram parametr z URL, w formie [https://chatgpt.com/?usq=test](https://chatgpt.com/?usq=test), strona nie kasuje parametru usq po załadowaniu strony, więc spokojnie można z tego skorzystać.
Jak to się uda, to spakuję to w WebExtension, i upublicznię.
@lobo: onchange sprawdzałem, i nie działa. W ogóle, jak strona czyści texstarea poprzez np. textareaEl.value = "", to tego onchange ani oninput nie wykryje.
Nawet event reset sprawdzałem (bo to siedzi w formularzu), i też nic.
Observer nie wykrywa tego, nawet jak go dałem na body i wyłapywał każdą zmianę w
@look997: Mam lepsze rozwiązanie możesz dodać do prototypu textarei zmodyfikowaną metodę setValue
HTMLTextAreaElement.prototype.setValue = function(value) { this.value = value; // tu sobie rób co chcesz :) }; zobacz demo https://jsfiddle.net/e3dpmfg8/2/ oczywiście musisz tam zrobić logikę aby wywołać to tylko raz kiedy potrzebujesz, ale już masz ppunk zaczepu
@lobo: A sprawdziłeś na stronie? Bo ja wcześniej też tak zrobiłem, i nie działało. W sumie ChatGPT mi to podpowiedział. Oczywiście znałem taką metodę wcześniej.
@look997: Nie korzystam u nich z chata więc nie wiem, a oni przypadkiem nie podmieniają całego elementu textarei? Bo to nie powinno tylko wtedy nie zadziałać. Jak tak to wtedy możesz observer dać na wyższym elemencie i sprawdzać.
chatgpt.com,textareajest czyszczona po 1 sekundzie od załadowania strony.Przez to skrypt który wkleja tekst poprzez
textareaEl.value = "tekst"nie wystarcza.Zrobiłem z
setTimeout1001 ms, to działa, już przy 1000 ms nie działa.Observery nie ogarniają, ale może źle coś robię?
Z opóźnieniem 1001 ms jest to zawodne, bo czasem dzieje się to w dłuższym czasie, więc pomóż znaleźć lepszą metodę?
Następny problem, to że nawet jak wpiszę, to
buttonEl.click();i tak nie zadziała, bo aktywuje się dopiero po wpisaniu czegoś z klawiatury, a wywołanie eventkeydownitp. też nie działa. Więc pozostaje po wklejeniu poprzeztextareaEl.value = "tekst", naciśnięcie jakiegoś znaku na klawiaturze, skasowanie go, i naciśnięcie Enter, żeby wiadomość została wysłana.Też mógłbyś pomóc to rozwiązać?
Dosłownie nie ma metody, żeby stworzyć Search Engine dla Firefox dla ChatGPT. :/
Metoda którą opisałem, jest niedoskonała oraz niedokończona.
Przed tymi dwoma krokami, po prostu pobieram parametr z URL, w formie
[https://chatgpt.com/?usq=test](https://chatgpt.com/?usq=test), strona nie kasuje parametruusqpo załadowaniu strony, więc spokojnie można z tego skorzystać.Jak to się uda, to spakuję to w WebExtension, i upublicznię.
#frontend #javascript #userscript #skrypt #addons #extensions #dodatki #rozszerzenia #plugin #wtyczki #chatgpt #ai #firefox
onchangesprawdzałem, i nie działa. W ogóle, jak strona czyści texstarea poprzez np.textareaEl.value = "", to tegoonchangeanioninputnie wykryje.Nawet event
resetsprawdzałem (bo to siedzi w formularzu), i też nic.Observer nie wykrywa tego, nawet jak go dałem na body i wyłapywał każdą zmianę w
HTMLTextAreaElement.prototype.setValue = function(value) {this.value = value;
// tu sobie rób co chcesz :)
};
zobacz demo https://jsfiddle.net/e3dpmfg8/2/ oczywiście musisz tam zrobić logikę aby wywołać to tylko raz kiedy potrzebujesz, ale już masz ppunk zaczepu
Bo ja wcześniej też tak zrobiłem, i nie działało. W sumie ChatGPT mi to podpowiedział.
Oczywiście znałem taką metodę wcześniej.
@lobo: No robiłem tak i nie wykrywa żeby coś się działo z texarea.