2016-11-12 12 views
1

페이지에서 수행 한 작업에 따라 텍스트로 알려주는 웹 사이트가 있습니다.자바 스크립트로 경고 메시지를 읽는 방법?

팝업 텍스트에 표시된 페이지에 따라 코드를 작성할 수 있도록 JavaScript로 해당 메시지를 읽고 싶습니다.

alert("message"); 

"메시지"가 무엇인지 알아야합니다.

메시지를 가져 오려고하는 웹 사이트는 asp.net으로 코딩되어 있습니다. JS로 메시지를 읽을 수 없다면 어떻게해야합니까?

+1

수 없습니다. 그냥 액션을 기록하고 저장하십시오. – Rajesh

+2

왜 이것을 기록하고 싶습니까? 일부 사이트의 기능을 수정하려면이 방법을 사용하는 것이 아닙니다. – prakharsingh95

+0

@ prakharsingh95 그래서 주위에 다른 방법이 없습니까? 정말 필요해. 알아야 할 것이 있거나 배우기 위해 필요한 것이 무엇입니까? – Explosion

답변

4

은 전역 함수, 즉 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

사실이지만 코드에 액세스 할 필요가 없습니다. 단지 경고 메시지를 읽는 user.js를 작성하고 싶습니다. – Explosion

+0

그게 정확히이 일을 - 그 질문의 요점은 :) user.js 위의 넣고 그것을 포함하십시오. –

2

경고() 함수를 실행하는 브라우저에 전달되어 실행될 때. 각 브라우저는 고유 한 방식으로 실행합니다. 따라서 around() 함수 자체를 재정의하는 것이 좋습니다.

페이지의 일부 자바 스크립트 코드가 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-m의 대답은 더 관련성이 높고 적절한 대답을 할 수 있습니다. 그러나 alert()을 재정의하는 방법에 대한 답을 사용하여 수행 방법에 대한 예제를 얻을 수 있습니다.

+0

답안의 코드가 더 재사용 가능합니다. 여러 곳에서 window.alert를 재 할당하거나 코드를 두 번 호출하면 파인이 떨어집니다. –