Javascript-форум (https://javascript.ru/forum/)
-   Javascript под браузер (https://javascript.ru/forum/css-html/)
-   -   Окно выбора файла, в JavaScript (https://javascript.ru/forum/css-html/85992-okno-vybora-fajjla-v-javascript.html)

cupoma58 16.07.2024 13:17

Окно выбора файла, в JavaScript
 
Привет.
Есть плеер, с подключенным файлом, можно - плейлист пристегнуть.
Но - хотелось-бы выбирать файл через окно диалога.
Вот это, на Chrome, не работает:
buton.addEventListener(async,'click',()=>{
    try {var [fileHandle] = await window.showOpenFilePicker();}
    catch (error){'&l;font color="red">Упс, бро не тот</font>'}
}
});

А, хотелось-бы.
Что посоветуете?

ksa 16.07.2024 15:16

Цитата:

Сообщение от cupoma58
buton.addEventListener(async,'click',()=>{...})

Так не бывает. :nono:
Вот так бывает
buton.addEventListener('click', async ()=>{...})

voraa 16.07.2024 17:49

А что вы потом с этим fileHandle делать будете? Как его в плеер засунуть?

cupoma58 17.07.2024 11:12

Цитата:

Сообщение от ksa (Сообщение 555713)
Вот так бывает

Нюанса - не уловил но - пусть будет.
------------------------------
P.S.: эта информация - для модераторов - при низко-скоростном трафике, "очеловечивание", практически - невозможно.

ksa 17.07.2024 11:16

Цитата:

Сообщение от cupoma58
Нюанса - не уловил

async "применяется" только к функциям. "Просто так" оно не пишется.

Так же await допускается использовать только в async-функциях... https://learn.javascript.ru/async-await

Вот собственно и все "нюансы". :)

cupoma58 17.07.2024 13:55

Благодарю за поддержку и советы. Немного доработал скрипт, по подсказке
f.addEventListener('click', async ()=>{ 
    if (window.isSecureContext){
        try {
                var [handle] = await window.showOpenFilePicker(),
                file = await handle.getFile(),
                fileURL = URL.createObjectURL(file),
                v = document.getElementById('v');
                v.src = fileURL;
        }
        catch (err){console.log('Error "' + err.name + '": ', err.message);}
    } 
});
...и обновил бро.

Aetae 17.07.2024 14:02

В firefox нет такого метода вообще, обзаботьтесь полифилом. С тем что гугл убивает блокировщики рекламы ожидается некий рост популярности фокса.


Часовой пояс GMT +3, время: 19:22.