2009-07-16 2 views
3

Я делаю некоторый анализ некоторого Javascript, и я хочу включить javascript, но отключить все блоки alert() и перенаправления self.location.Overwriting Native Methods in Javascript

В настоящее время я использую regex proxy, но это похоже на излишний.

я могу переопределить некоторые нативные методы, но не другие в Firefox т.е.

window.alert = function('') { return null; } 
alert('test!') // works as expected 

Однако, когда я пытаюсь так же перезаписать window.location = (который является псевдонимом для window.assign вызова метода()) его не работает

window.location.assign = function('') { return null; } 
window.location.assign('#') // redirects :(

Я попытался установить Window.prototype.location.assign но я получаю «не удается изменить свойства WrappedNative» исключение.

Любые альтернативы NoScript для мелкозернистого JS-управления или можно ли переписать некоторые Native JS-методы?

+0

Почему бы вам не упустить это? Я видел предупреждение и подтверждаю перезапись для создания пользовательских диалогов, но зачем их переписывать? – Prestaul

+0

работает с некоторым вредоносным кодом –

ответ

2

Этот suggested solution для отключения alert может работать.

+0

Я думаю, что http://www.adsafe.org/ именно то, что я искал, спасибо! –