J'ai une page de redirection quand il ne devrait pas être, et je suis à essayer de comprendre qui fait ça. J'ai d'abord essayé le détournement de la fenêtre.emplacement:
window.location = (function (location) {
// location is now hidden inside a closure. We can override it
var Location = Object.create(location);
// Location is now our proxy. We can use it to catch changes
window.__defineGetter__('location', function () { return Location });
window.__defineSetter__('location', function (x) { debugger; location = x; return x; });
// etc etc, considered assignments to location.href, location.search, location.host etc., as well as calls to location.replace and location.assign
}(window.location));
Qui ne travaillent pas du tout dans le navigateur Chrome. Vous ne pouvez pas faire les setters et getters sur la fenêtre.emplacement pour des raisons de sécurité. OK. La prochaine chose que j'ai essayé était l'observation onunload et onbeforeunload:
['unload', 'beforeunload'].forEach(function (evName) {
window.addEventListener(evName, function () {
debugger; // Chance to check everything right before the redirect occurs
});
});
Je savais que la valeur de la fenêtre.emplacement de rester le même jusqu'à ce que, après l'événement onunload, encore une fois pour des raisons de sécurité, mais je m'attendais à quelque autre indice, pas de chance. Ensuite, j'ai essayé de mettre des points d'arrêt à chaque point de je peux trouver dans mes propres scripts où la fenêtre.l'emplacement pourrait être affecté. Aucun d'entre eux sont touchés selon le Chrome débogueur. Argh. Cette redirection ne se fait pas dans FF, par le chemin, et j'ai déjà essayé de redémarrer Chrome. Je sens que j'ai vraiment tout essayé et obtenu de nulle part, qui nous l'espérons signifie que je suis sur le point de monter de niveau en tant que développeur? S'il vous plaît?
Est-il de toute façon dans n'importe quel navigateur pour moi, l'humain d'exploitation le débogueur, à la pause sur la ligne de rediriger l'emplacement de la page? Je comprends qu'il ya des implications en matière de sécurité pour permettre un accès automatique à l'information, mais il n'y a rien qui privilégie le développeur et permet à un moyen de le faire? Si non, quelle est la façon normale de faire face à une situation de ce genre? Il semble assez répandue, et je ne pense pas que quiconque aime est bloqué pendant des heures ou des jours sur un concept simple problème. TIA