Hirdetés
- Luck Dragon: Asszociációs játék. :)
- GoodSpeed: Daikin FTXF35E / RXF35F Sensira 3,3 kW Inverteres klíma - a Sztori
- Luck Dragon: Alza kuponok – aktuális kedvezmények, tippek és tapasztalatok (külön igényre)
- gban: Ingyen kellene, de tegnapra
- sziku69: Fűzzük össze a szavakat :)
- Luck Dragon: MárkaLánc
- Geri Bátyó: Agglegénykonyha különkiadás 2 – Kajás poénok
- Doky586: SecureBoot kulcsok frissítése (2026 nyara)
- aquark: Zsebszámológépek
- D1Rect: Nagy "hülyétkapokazapróktól" topik
-
LOGOUT
JavaScript != Java (A JavaScript nem összekeverendő a Javával, két különböző programozási nyelvről van szó!)
Új hozzászólás Aktív témák
-
dqdb
nagyúr
válasz
Sk8erPeter
#5505
üzenetére
Akkor íme egy Chrome/Opera extension kettőtök kutatása alapján egy kicsit kulturáltabb injektálási módszerrel.
manifest.json
{
"content_scripts":
[
{
"matches": [ "http://mno.hu/*", "https://mno.hu/*" ],
"js": [ "content.js" ],
"run_at": "document_start"
}
],
"web_accessible_resources":
[
"patch.js"
],
"manifest_version": 2,
"name": "setTimeout patch",
"version": "1.0.0"
}patch.js
Window.prototype._setTimeout = Window.prototype.setTimeout;
Window.prototype.setTimeout = function(func, delay) {
if (func.toString().indexOf("reloadBlocker") !== -1)
console.log('blocked setInterval', delay);
else
Window.prototype._setTimeout.apply(this, arguments);
};content.js
try {
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function() {
if (xhr.readyState === 4 && xhr.responseText) {
var patch = document.createElement("script");
patch.type = "text/javascript";
patch.innerText = xhr.responseText;
(document.head || document.documentElement).appendChild(patch);
}
};
xhr.open("GET", chrome.extension.getURL("patch.js"), true);
xhr.send(null);
}
catch (ex) {
console.log(ex);
}Vagy Firefox alá Greasemonkey scriptként:
// ==UserScript==
// @name setTimeout patch
// @namespace mno.hu
// @include http://mno.hu/*
// @include https://mno.hu/*
// @version 1
// @run-at document-start
// @grant none
// ==/UserScript==
window._setTimeout = window.setTimeout;
window.setTimeout = function(func, delay) {
if (func.toString().indexOf("reloadBlocker") !== -1)
console.log('blocked setInterval', delay);
else
window._setTimeout.apply(window, arguments);
};Érdekes módon itt csak a window példányt tudtam manipulálni, és abban lecserélni a metódust, magát a Window osztályt nem, hogy a prototípusban cserélgessek.
Természetesen nem vártam ki a 20 percet, a naplóba írt üzenettel teszteltem a kódot.
Új hozzászólás Aktív témák
- Béta iOS-t használók topikja
- Apple MacBook
- Samsung Galaxy A54 - türelemjáték
- Itt a Galaxy S26 széria: az Ultra fejlődött, a másik kettő alig
- Renault, Dacia topik
- TCL LCD és LED TV-k
- Casco és kötelező gépjármű felelősségbiztosítás
- MWC 2026: Kezünkben a Vivo V70, megvan a magyar ára is
- Luck Dragon: Asszociációs játék. :)
- Micro Four Thirds
- További aktív témák...
- KÜLÖNLEGES RITKASÁG! VADIÚJ Microsoft Surface Pro 12 12" Snapdragon X Plus 16GB 512GB LEVENDULA 686g
- BESZÁMÍTÁS! Apple MacBook Pro 14 M4 Max 36GB RAM 1TB SSD macbook garanciával hibátlan működéssel
- LG UltraFine 4K - 6K és Smart Monitorok -30%
- í kilenc! AKCIÓS PRECÍZIÓS KÉSZÜLÉK! 7560 i9-11950H 32GB RAM 1TB SSD Nvidia RTX A3000 6GB 1 év gar
- 15,6" Dell Latitude laptopok: E5550, E5570, 5590, 5500, 5501, 5510, 5520 / SZÁMLA + GARANCIA
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
