해시 문자열에서 함수 이름이 지정된 함수를 호출하려고합니다. 나는 alert
전화 주석을 제거 할 때 예상대로JavaScript : hashchange에서 이름으로 함수 호출
$(window).on('hashchange', function() {
//alert(location.hash.substring(1, location.hash.length));
window[location.hash.substring(1, location.hash.length)];
});
function test() {
alert('123!');
}
재미있는 것은이, 모든 작품 : 나는 다음과 같은 코드가 있습니다. 그러나 alert
이 주석 처리되면 작동하지 않습니다.
아이디어가 있으십니까?
단축 할 수있다 너는 기능을 부르는거야? –
당신이하려고하는 것과 같은 소리는 [주요 XSS 구멍] (https://www.owasp.org/index.php/Cross-site_Scripting_ (XSS))을 열 것입니다. – Bergi
@Bergi : 저는 이것을 위해서만 사용하고 있습니다. 모바일 웹 앱 내 페이지 내비게이션. 호출되는 함수는 인증을 요구하는 API 호출을 통해 페이지를 렌더링하는 목적을 위해 제공되므로 실제로 보안 위험이 발생하지는 않는다고 생각합니다. 감사! –