Search

FAQ

De mest stillede spørgsmål om Søgning

Stemmesøgning #

Denne kode er ment som et udgangspunkt, der kan tilpasses dine behov.

Mange browsere understøtter stemmesøgning nativt, hvilket gør det ganske enkelt for udviklere at implementere i Clerk.io’s søgefunktioner.

Nedenfor er et eksempel på et script, der kan bruges til at transskribere tekst ved hjælp af en mikrofon. Specifikt vil det indsætte tekst i Clerk.io’s Omnisearch inputfelt.

Det tilføjer en knap, der, når den klikkes, aktiverer browserens stemmegenkendelses-API og indsætter teksten i inputfeltet.

Du kan tilføje dette script som en kodeblok til et designredigeringsdesign til en Instant Search eller direkte i et kodedesign til Instant Search eller Omnisearch.


<button class="mic-button" onclick="startVoiceSearch()">🎙️</button>

<script>
function startVoiceSearch() {
    if (!('webkitSpeechRecognition' in window)) {
        alert("Din browser understøtter ikke stemmegenkendelse.");
        return;
    }

    let recognition = new webkitSpeechRecognition();
    recognition.lang = "en-US";
    recognition.interimResults = false;
    recognition.maxAlternatives = 1;
    recognition.onstart = () => console.log("Lytter...");
    recognition.onerror = (event) => console.error("Fejl i stemmegenkendelse:", event);
    recognition.onend = () => console.log("Stemmegenkendelse afsluttet.");
    recognition.onresult = function(event) {
        let transcript = event.results[0][0].transcript;
        updateSearchInput(transcript);
    };
    recognition.start();
}

function updateSearchInput(text) {
    let input = document.getElementById("clerk-omnisearch-input");
    input.value = text;
    // Udløs begivenheder for at søgningen opdateres korrekt
    ['input', 'change', 'keydown', 'keyup'].forEach(eventType => {
        let event = new Event(eventType, { bubbles: true });
        input.dispatchEvent(event);
    });
    console.log("Stemmesvar tilføjet:", text);
}
</script>

Denne side er oversat af en hjælpsom AI, og der kan derfor være sproglige fejl. Tak for forståelsen.