¿Cómo escapar del #signo hash (a veces conocido como signo de número o signo de libra) enviado en la cadena de consulta de una URL?
                    
                        html
                                http
                                query-string
                                
                    
                    
                        Muhammad Hewedy
fuente
                
                
            fuente

encodeURI('#');está regresando#y no el carácter codificado en porcentaje#es un carácter URI válido, pero inicia el fragmento hash , por lo que debe codificarlo en la cadena de consulta. CompararencodeURIComponent('#'). ¿Qué ves en Chrome 74?