Forum Webscript.Ru
Программирование => JavaScript & JScript => Тема начата: Leech от 30 Ноября 2003, 22:12:47
-
Возможно ли вставить JavaScript, который бы сканировал каталоги и вложенные, и стоящие выше и затем вывести на страницу их структуру? Сам Java позволяет работать с каталогами и файлами... Но можно ли это реализовать средствами JavaScript?
-
кульхацкер фигов.
-
Leech:
Но можно ли это реализовать средствами JavaScript?
eval(unescape( \'%61%6C%65%72%74%28%22%CD%E5%F2%21%22%29\' ))
-
Leech
Java и JavaScript это РАЗНЫЕ вещи. Брось все попытки что-то сломать на JavaScript ровно до тех пор, пока не соображаешь, что делаешь!
Leech:
Но можно ли это реализовать средствами JavaScript?
Можно, но как не скажу.
-
Yukko
Мне скажи:) Если ответ в PHP, то это я и сам знаю.
Leech
Пример просмотра каталогов можно увидеть у меня на сайте.
Найди там "Проводник" и смотри. Там и исходники есть.
Если конечно поймешь о чем речь.
-
Ничего я не собираюсь ломать.. просто нужно сделать фичу типа проводника, тока с наворотами....
-
Leech проводника где? по чем? по удаленным дискам? по своим?
Nickii
сказал
-
Yukko
Я знаю, что Java и JavaScript - это РАЗНЫЕ вещи, не маленький...
Проводник по сайту нужен... ничего я ломать не собираюсь...
Структуру сайтов нужно оформить в XML, обработка происходит на JavaScript. Саму структуру XML меняет Perl...
Я и сам уже скоро всё закончу, но буду рад услышать новую идею.
Спасибо всем, кто проявил интерес.
-
Кстати, может, кто подскажет, как оптимальнее всего задать структуру папок в XML? Как определить вложенность - это ясно... Но ещё должен хранитья полный путь к ней...
Может, что нидь типа:
-
Leech
Есть такая штука... Nested Sets называется...
-
Yukko
[off] Nested Sets к XML отношения не имеет[/off]
Leech
как оптимальнее всего задать структуру папок в XML?
оптимальная для чего ? ИМХО аттрибут path - лишний
-
Макс
Чтобы на JavaScript сделать аналог проводника...
-
я бы делал так:
...
....
путь писать не надо (ИМХО) его через XPath вычислить можно
-
Спасиб... попробую...
-
Имя тега прочесть могу, его содержимое тоже, - тут всё просто...
xmldoc.root.children.item(i).tagName ....
Как прочитать атрибут внутри тега? Допустим, в примере, предложенном выше Максом...
-
Leech:
Как прочитать атрибут внутри тега?
Не вдаваясь в подробности...
А разница между атрибутом и еще одним вложенным параметром?
SomeData
SomeData
attrvalue
-
Yukko
... не понял....
-
попробуй
xmldoc.root.children.item(i).attributes.getNamedItem(\'name\');
-
Yukko
text
text1
text
и
text
attrvalue
text1
text
Какой из дочерних узлов в данном случае является аттрибутом ? :)
-
Макс
Я не к тому... формат хранения данных задаешь ты, ты и решаешь, какому из дочерних узлов какое дать имя, и как интерпретировать его значение. Вот и все, что я хотел сказать.
Поэтому если нет возможности читать атрибуты, но есть возможность менять формат xml файла, то мой способ вполне и вполне катит... (я не сказал сейчас про JavaScript)
-
Макс
Error: Объект не поддерживает это свойство или метод :((
Код показать?
-
Leech
ладно показывай.
Броузер IE ?
-
Макс
Может, проще через Асю?
-
IE 6.0
Вызываем из html функцию viewDocument
function viewDocument(){
xmldoc.URL = xmlsrc; // Загрузка XML документа
parse(xmldoc.root); // Начало разбора документа
}
Функция parse:
function parse(root){
if(root==null) return;
var i=0;
var elem;
if(root.children!=null){ // Если вложенные элементы не были определены, то свойство children будет установленно в null
// Перебор дочерних элементов
for(i=0;i elem=root.children.item(i);
if(root.children.item(i).tagName=="DIR"){
this.document.writeln(\'Dir="\'+root.children.item(i).attributes.getNamedItem(\'name\')+\'"\');
}
}
}
}
-
Чёрт, как вставлять отступы? Чтоб хотя бы код можно было прочитать нормально?
-
Leech
Чёрт, как вставлять отступы? Чтоб хотя бы код можно было прочитать нормально?
[off] если код поместить в теги [ code ] твой код [ / code] то отступы сохранятся [/off]
-
Вот упрощенный пример, того что у меня заработало:
test
Вообще почитай мануал к MSXML - там примеров достаточно.
-
Ага... работает... с некоторыми изменениями, связанными с тем, что идет подгрузка XML из файла...
вместо
xmldoc.loadXML(xmlstr);
пишем
var xmlsrc = "struct.xml"; xmldoc.load(xmlsrc):
Тока как-то всё странно происходит далее... У меня при входе в функцию parse параметр root равен нулю, что вызывает выход из неё. Хотя если написать обработку ошибок загрузки XML вот в таком виде:
function viewDocument(){
if (xmldoc.load(xmlsrc)) {
alert(\'Load XML done\');
}else{
alert(\'Load XML error\');
}
parse(xmldoc.documentElement);
}
то, после того, как выскочит алерт "Load XML done", дальнейшая обработка происходит без проблем, т.е. параметр root не равен нулю... Интересно получается? Прям какой-то волшебный алерт :)
Макс, если интересно, могу кинуть по Асе урлу, где это всё выложено...
-
Макс, если интересно, могу кинуть по Асе урлу
нет, спасибою у меня есть занятия поинтереснее.
Поведение конечно странное. У тебя XML well-formed ?
И почитай доку по MSXML по объекту parseError
Еще возможно, это связано с тем что XML не успевает подгрузиться.
Проверяй свойство readyState. Пример из мануала: