我的应用程序很快会在文件夹中找到文件夹时创建下拉选择器。最后要显示的是index.html文件。如果有一个名为index.html的文件,它将被加载到iframe中。现在我可以停止显示索引文件,并在该文件位于文件夹内时立即停止创建新的下拉选择器。但如果有其他文件夹作为js或css或图像,它将显示它们。任何人都可以帮我修改代码,并尽快修改index.html文件以停止查找其他文件夹并停止创建新文件夹。
这是我运行http://tdhtestserver.herobo.com/
的应用的链接以下是寻找文件夹和html文件的代码,并将创建下拉选择器
function processNewDFData( respObj, $currentSelectItem, strCurrentPath ) {
fsStructure[strCurrentPath] = {'subfolders':[], 'subshtmls':[]};
var hasFolder = false;
if ( (respObj.subfolders.length > 0) || (respObj.subshtmls.length > 0) ) {
for( var i = 0; i < respObj.subfolders.length; i++ ) {
fsStructure[strCurrentPath].subfolders.push( respObj.subfolders[i] );
hasFolder = true;
}
for( var i = 0; i < respObj.subshtmls.length; i++ ) {
fsStructure[strCurrentPath].subshtmls.push( respObj.subshtmls[i] );
}
}
rendSelects( $currentSelectItem, strCurrentPath, hasFolder );
}
function rendSelects($currentSelectItem, strPath, hasFolder) {
var currentSelectLvl = (null === $currentSelectItem ? -1 : parseInt($currentSelectItem.attr('data-selector-level'))),
nextOneSelectorHtml =
'<select class="dropdown selectpicker" name="dd" '
+ 'data-selector-level="' + (currentSelectLvl + 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'))>currentSelectLvl) {
el.parentNode.removeChild(el);
$(el).selectpicker('destroy');
}
});
if ( fsStructure[strPath].subfolders.length > 0 ) {
for(var i=0; i < fsStructure[strPath].subfolders.length; i++) {
if(fsStructure[strPath].subfolders[i] != 'highlighted'){
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++) {
if (fsStructure[strPath].subshtmls[i] != 'highlighted.html' && fsStructure[strPath].subshtmls[i] != 'index.html'){
nextOneSelectorHtml +=
'<option ' +
'class="html-page-option" ' +
'data-html-page-name="' + fsStructure[strPath].subshtmls[i] + '">' +
fsStructure[strPath].subshtmls[i] +
'</option>';
}else{high( strPath+'/highlighted.html');}
}
}
if ( fsStructure[strPath].subshtmls.length > 0 ) {
for(var i=0; i < fsStructure[strPath].subshtmls.length; i++) {
if (fsStructure[strPath].subshtmls[i] != 'index.html'){
nextOneSelectorHtml +=
'<option ' +
'style="display: none;" ' +
'class="html-page-option" ' +
'data-html-page-name="' + fsStructure[strPath].subshtmls[i] + '">' +
fsStructure[strPath].subshtmls[i] +
'</option>';
}else{playSwf( strPath+'/index.html');}
}
}
if(hasFolder) {
nextOneSelectorHtml += '</select>';
$('div.selectors-container').append( nextOneSelectorHtml );
$('div.selectors-container').trigger('dropdownadded.mh');
}
}
解决
答案 0 :(得分:0)
我所要做的就是在这一行hasFolder = false;
else{playSwf( strPath+'/index.html');hasFolder = false;}