Доступ к исходным глобальным переменным и атрибутам в JavaScript

Я работаю над кодом, который внедряется на веб-страницы (используя надстройку для браузера или с помощью тега script)

Проблема в том, что мы хотим использовать глобальные объекты и переменные, такие как JSON, window.location, String.splitи т. д., и их реализация может быть изменена веб-страницей. может привести к сбою нашего кода, и это проблема безопасности.

Пример le:

>>> String.prototype.split = function() { return 'foo'; };
function()
>>> 'a,b,c'.split(',');  // gives unexpected result
"foo"

Итак, есть ли способ получить доступ к стандартной реализации объектов и функций в браузере, какой они были до того, как были изменены? Он не должен быть стандартным, я просто хочу, чтобы функциональность существовала.

5
задан Martin Vilcans 12 June 2012 в 09:16
поделиться