2016-11-12 3 views
1

Существует веб-сайт, предупреждающий вас текстом в соответствии с тем, что вы сделали на странице.Как читать предупреждающее сообщение с помощью javascript?

Я хочу прочитать это сообщение с помощью JavaScript, чтобы написать код в соответствии с тем, что указала страница во всплывающем тексте.

alert("message"); 

Мне просто нужно знать, что такое «сообщение»!

Веб-сайт, на котором я пытаюсь получить сообщение, закодирован asp.net. Что мне делать с этим, если невозможно прочитать сообщение с помощью JS.

+1

Вы не можете. Просто запишите действие и сохраните его – Rajesh

+2

Зачем вам это нужно записывать? Если вы хотите изменить некоторые функции сайта, это не то, как вы это делаете. – prakharsingh95

+0

@ prakharsingh95 так нет ли другого пути? Мне это действительно нужно. Что мне нужно знать или учиться? – Explosion

ответ

4

alert() - глобальная функция, то есть window.alert(), поэтому ее можно перезаписать.

Скорее всего, вы все равно хотите предупреждение, так что вы можете вести учет его перед перезаписью, давая: функция

window.old_alert = window.alert; 
window.alert = function(msg) { 
    // Process the msg here 
    console.log(msg); 

    // still show the original alert 
    old_alert(msg); 
}; 
+0

true, но у меня нет доступа к коду, который я просто хочу написать user.js, чтобы прочитать это предупреждающее сообщение. – Explosion

+0

Это именно то, что это делает - вот в чем смысл вашего вопроса :) Поместите выше в user.js и включите его. –

2

предупреждения() при выполнении передается в браузер для выполнения. Каждый браузер выполняет его по-своему. Таким образом, способ состоит в том, чтобы переопределить функцию alert().

Некоторые javascript-коды на странице могут вызывать функцию alert(). Возможно, вы можете попытаться найти место в коде, где он называется. Аргумент alert() - это то, что вам нужно. Вы можете переопределить функцию предупреждения по умолчанию, используя свой собственный, как описано в: JavaScript: Overriding alert() . Таким образом, вы можете сделать (взяты из приведенного выше ответа):

(function(proxied) { 
    window.alert = function() { 
    // do something here 
    // arguments is what holds what you want. 
    return proxied.apply(this, arguments); 
    }; 
})(window.alert); 

@ ответ freedomn-М является более актуальным и метким. Но вы можете использовать ответ для переопределения alert() для получения дополнительных примеров того, как это сделать.

+0

Код в вашем ответе более подходит для повторного использования. Mine падает, если несколько мест переназначают window.alert или код вызывается дважды. –

 Смежные вопросы

  • Нет связанных вопросов^_^