Autor Zpráva
KryVosa
Profil
Chtěl bych udělat prototyp stejný jako XMLHttpRequest, pouze s přepsanou metodou open(), ve které se však bude původní metoda open() používána. Jak?
Děkuji :)
Radek9
Profil
KryVosa:
K čemu konkrétně to potřebuješ? Nezní to jako úplně dobrý nápad. Chceš to přepsat na všech requestech, nebo jen u některých? Říká se tomu monkey-patching. Ve zkratce: Uložíš si původní funkci, na prototyp navěsíš novou a původní uvnitř zavoláš.
var oldOpen = XMLHttpRequest.prototype.open;
XMLHttpRequest.prototype.open = function (method, url, async) {
  // něco provedeš s parametry
  return oldOpen.apply(this, arguments);
};
KryVosa
Profil
Bude to (téměř) normální kopie XHR, akorát že celá komunikace bude probíhat přes náhodně zvolený proxy server. Děkuji moc :)
Radek9
Profil
KryVosa:
V tom případě je tedy asi vhodné to upravovat jen na těch konkrétních objektech a ne na celém prototypu. Princip je ale stejný.
_es
Profil
KryVosa:
akorát že celá komunikace bude probíhat přes náhodně zvolený proxy server.
A ńejde o proxy server z inej domény než je načítaná stránka?
KryVosa
Profil
Jde o proxy servery s Access-Control-Allow-Originem :)

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: