Moja aplikacja szuka w folderze, a następnie wyświetla wszystkie foldery i pliki HTML w menu rozwijanym oraz wyświetla wszystkie pliki HTML w elemencie iframe. Mam plik o nazwie "highlighted.html", którego nie chcę wyświetlać w menu rozwijanym, ale jeśli znajduje się w bieżącym katalogu, chcę go automatycznie wyświetlić w elemencie iframe.Jak znaleźć plik z javascript?
To jest mój kod, aby zobaczyć, co znajduje się w folderze:
Pierwsza funkcja tworzenia ładowanie listy rozwijanej dynamicznie folderów lub plików (z rozszerzeniem html).
W drugiej funkcji: jeśli kliknięcie na istniejącym podfolderu, a następnie otwórz ten folder i zajrzeć do pliku (ów) html, aby otworzyć go w iframe
function rendSelects($currentSelectItem, strPath) { var currentSelectLevel = (null === $currentSelectItem ? -1 : parseInt($currentSelectItem.attr('data-selector-level'))), nextOneSelectorHtml = '<select ' + 'class="dropdown selectpicker" ' + 'name="dd" ' + 'data-selector-level="' + (currentSelectLevel + 1) + '" ' + 'data-path="' + strPath + '" ' + 'onchange="onFsSelectChange(this)"' + '><option text selected> -- select an option -- </option>'; $('div.selectors-container select.dropdown').each(function (i, el) { if (parseInt(el.getAttribute('data-selector-level')) > currentSelectLevel) { el.parentNode.removeChild(el); $(el).selectpicker('destroy'); } }); if (fsStructure[strPath].subfolders.length > 0) { for (var i = 0; i < fsStructure[strPath].subfolders.length; i++) { nextOneSelectorHtml += '<option ' + 'class="subfolder-option" ' + 'data-subfolder="' + fsStructure[strPath].subfolders[i] + '" >' + fsStructure[strPath].subfolders[i] + '</option>'; } } if (fsStructure[strPath].subshtmls.length > 0) { for (var i = 0; i < fsStructure[strPath].subshtmls.length; i++) { nextOneSelectorHtml += '<option ' + 'class="html-page-option" ' + 'data-html-page-name="' + fsStructure[strPath].subshtmls[i] + '">' + fsStructure[strPath].subshtmls[i] + '</option>'; } } nextOneSelectorHtml += '</select>'; $('div.selectors-container').append(nextOneSelectorHtml); $('div.selectors-container').trigger('dropdownadded.mh'); } function onFsSelectChange(el) { var currentSelectorPath = el.getAttribute('data-path'), selectedOption = el.options[el.selectedIndex]; if (selectedOption.classList.contains('subfolder-option')) { loadFolderStructure(currentSelectorPath + '/' + selectedOption.getAttribute('data-subfolder'), $(el)) } if (selectedOption.classList.contains('html-page-option')) { playSwf(currentSelectorPath + '/' + selectedOption.getAttribute('data-html-page-name')); } }
I dostarczyły pracę wersja demo pod adresem http://tdhtestserver.herobo.com/.
SOLVED
Nie można powiedzieć, '$ ("# myiFrame").attr ('src',/path/to/highlighted) 'ponieważ ścieżka jest tworzona dynamicznie jako' fsStructure [strPath] .subshtmls [i] ' –
@MarkusHayner: no prob '. Powiedz $ ("# myiFrame"). Attr ('src',/path/to/highlighted) później. FAKTYCZNIE, kwestią jest wybór: 1. $ (myframeid) .attr (src ...) ORAZ 2. Proszę zobaczyć moją inną odpowiedź – 3pic