我試圖調用給定函數名稱的哈希字符串中的函數。我有以下代碼: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
電話,一切正常。然而,當alert
被評論時,它不起作用。
任何想法?
在哪裏被縮短你調用一個函數? –
聽起來像你試圖做的將打開[重大XSS洞](https://www.owasp.org/index.php/Cross-site_Scripting_(XSS)) – Bergi
@Bergi:我只用這個移動網絡應用內的頁面導航。被調用的函數用於通過API調用呈現頁面,這需要進行身份驗證,所以我不認爲這確實會帶來安全風險(但如果我錯了,請糾正我)。謝謝! –