Почему нет отдельных компонентов пути, возвращаемых из метода разрешения направления каталогов с Chrome для Android?Javascript

Форум по Javascript
Ответить
Anonymous
 Почему нет отдельных компонентов пути, возвращаемых из метода разрешения направления каталогов с Chrome для Android?

Сообщение Anonymous »

chrome версия 132 представила API доступа к файловой системе с выводом каталога https://developer.chrome.com/docs/capab ... tem-access.
< P> Однако, в то время как на рабочем столе версии Chrome функция resolveˋ в записи каталога возвращает обещание с массивом компонентов пути к записи https://developer.mozilla.org/en-us/docs/web/api/ FileSystemDirectoryHandle/Resolve, под Android Похоже, что функция возвращается всегда, независимо от уровня гнездования, только два компонентного пути, начиная с ˋdocumentˋ, с последующей строкой, которая включает в себя каталоги, но разделенные ˋ%2ˋ, и префикс, например, ˋPrimary%3Adocuments%2fˋ.
- это различие между Chrome Desktop ˋresolveˋ и Android ˋresolveˋ по дизайну или причудливой/ошибкой этого первого выпуска?
Примерной страницей, открывающей сборщик каталога https://martin-honnen.github.io/js/2025 ... test1.html, если я открываю каталог, например Назван ˋXSLT-1.0ˋ на рабочей версии Chrome Я получаю некоторую иерархию, например, < /p>
  • xslt-1.0


    li> sub-folder1 (sub-folder1)

    module-test2.xsl (sub-folder1 /module-test2.xsl) < /li>
    < / ul>
    < /li>
    module-test1.xsl (module-test1.xsl) < /li>
    < /ul>
    < /li> < /ul>
    , находясь на Android I >
    sub-sub-folder1 (документ /первичный%3adocuments%2fxslt-1.0%2fsub-folder1)

    module-test2.xsl (документ /pprimary%3adocuments%2fxslt-1.0%2fsub-folder1%2fmodule-test2.xsl)
    < /ul>
    < /li>
  • module-test1. XSL (Document/Primary%3Adocuments%2FXSLT-1.0%2FModule-test1.xsl)

Я также включаю код в качестве фрагмента кода, но в качестве JavaScript выполняется там внутри iframe, использование сборщика каталога не работает. < /p>

Код: Выделить всё

    async function buildRootDirList(dirHandle) {
const ul = document.createElement('ul');
document.body.appendChild(ul);
const li = document.createElement('li');
ul.appendChild(li);
li.appendChild(document.createTextNode(dirHandle.name));
await buildDirList(dirHandle, dirHandle, li);
}
async function buildDirList(dirHandle, rootDirHandle, parentElement) {
const ul = document.createElement('ul');
parentElement.appendChild(ul);
for await (const entry of dirHandle.values()) {
const li = document.createElement('li');
ul.appendChild(li);
li.appendChild(document.createTextNode(`${entry.name} (${(await rootDirHandle.resolve(entry)).join('/')})`));
if (entry.kind === 'directory') {
await buildDirList(entry, rootDirHandle, li);
}
}
}
document.getElementById('dp1').addEventListener('click', async () => {
const dirHandle = await window.showDirectoryPicker();
await buildRootDirList(dirHandle);
});  < /code>
    



Подробнее здесь: https://stackoverflow.com/questions/793 ... thod-of-di
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»