Можно ли переопределить document.cookie в WebKit? - PullRequest
5 голосов
/ 14 июня 2009

В Firefox это возможно с помощью следующего ...

HTMLDocument.prototype.__defineGetter__("cookie",function (){return "foo=bar";});
HTMLDocument.prototype.__defineSetter__("cookie",function (){});

Это не вызывает никаких ошибок в WebKit, и WebKit определенно поддерживает __defineGetter__ и __defineSetter__, но это не работает. Предположение, что WebKit каким-то образом защищает это свойство.

Итак, есть ли идеи, как добиться того же эффекта в WebKit?

1 Ответ

4 голосов
/ 15 июня 2009

Вы пытались определить пару получатель / установщик на самом объекте документа, а не на прототипе?

document.__defineGetter__("cookie", function() {} );
document.__defineSetter__("cookie", function() {} );

Я знаю, что это не должно иметь значения, но я не недооцениваю нюансы браузера. Даже с WebKit.

Обновление

Я провел несколько тестов в Chrome 2, и кажется, что он позволяет определять только сеттер. В любом случае, я не уверен, насколько достоверно это наблюдение для WebKit, поскольку Google Chrome использует интерпретатор JavaScript, отличный от WebKit.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...