Восстановление встроенных методов, которые были перезаписаны
Допустим, наш скрипт включен в веб-страницу, и предыдущий скрипт (уже выполненный) сделал это:
String.prototype.split = function () {
return 'U MAD BRO?';
};
Так чтоsplit
Строковый метод был перезаписан.
Мы хотели бы использовать этот метод, поэтому нам нужно как-то его восстановить. Конечно, мы могли бы просто определить нашу собственную реализацию этого метода и использовать его вместо этого. Однако, ради этого вопроса, давайте просто скажем, что мы действительно хотели восстановить реализацию этого метода в браузере.
Итак, браузер имеет реализациюsplit
метод (в родном коде, я считаю), и эта реализация назначенаString.prototype.split
всякий раз, когда загружается новая веб-страница.
Мы хотим эту реализацию! Мы хотим вернутьString.prototype.split
.
Теперь, я уже придумал одно решение - это взлом, и он, кажется, работает, но у него могут быть недостатки, мне придется немного протестировать ... Итак, пока вы можете придумать решение к этой проблеме?