2011-08-15 4 views
1

Мне поручили создать новый браузер Javascript, но, к сожалению, я должен использовать Prototype и не могу использовать JQuery (по крайней мере, на данный момент) из-за некоторых проблем, которые могут возникнуть в результате конфликтов (они сказали, что планируют чтобы решить это, но на данный момент похоже, что мне, возможно, придется идти с прототипом). Я искал google для плагинов, которые я могу использовать для Prototype/Scriptaculous, но они кажутся немногочисленными и далеко друг от друга, и все, что я нашел, ориентированы на использование с PHP. Я полагаю, что я могу переписать конец PHP в Java/JSP, так как наше приложение построено на Java. Я просто подумал, что опубликую здесь, чтобы узнать, может ли кто-нибудь рекомендовать хороший плагин для этого, который можно было бы легко интегрировать с Java. БлагодаряPrototype/Scriptaculous Javascript плагин для файлового браузера, который интегрируется с JSP/Java?

EDIT: Это то, что я имею в виду:

http://abeautifulsite.net/blog/2008/03/jquery-file-tree/ (это в Jquery), поэтому мне нужно что-то вроде этого для прототипа

Это для просмотра файловой системы сервера, а не клиента , поэтому была бы страница/контроллер на стороне сервера, которая возвращает список файлов в виде файлов или папок, а затем JavaScript манипулирует этим при необходимости, чтобы свернуть/развернуть. Есть куча из них написано в Jquery, но, к сожалению, я не могу найти один написанный с Prototype

ответ

1

Как указано Diodeus, и, как показано на вашем собственном примере, и, как это, вероятно, используется большинством доступных плагинов для браузера, он работает с HTML, который визуализируется и возвращается сервером. Все javascript нужно сделать, это вставить возвращенный HTML, у Prototype есть функция, которая делает большую часть этого для вас, Ajax.Updater. Вы могли бы написать свое очень быстро.

function expandCollapseFolder(event, folder) { 
    var list = folder.down('ul'); 
    if (list) list.toggle(); 
    else new Ajax.Updater(folder, 'URL-OF-SERVER-PAGE', 
    { 
     parameters: { path: folder.readAttribute('data-path') }, 
     insertion: 'bottom' 
    }); 
} 

Event.on('ID-OF-FILE-BROWSER', 'click', 'li.folder', expandCollapseFolder); 

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

<ul> 
    <li class="folder" data-path="/folder"> 
     <img src="folder-icon.png" />This is a folder 
    </li> 
    <li> 
     <a href="URL-OF-FILE" target="_blank"> 
      <img src="file-icon.png" />This is a file 
     </a> 
    </li> 
</ul> 
0

Я искал на Google для плагинов, которые я могу использовать для Prototype /Scriptaculous, но они, кажется, мало кто и далеко друг от друга, и все, найденные мной , предназначены для использования с PHP.

Основываясь на вашем вопросе, я не уверен, что именно вам нужно выполнить.

Prototype & Scriptaculous - это дополнительные библиотеки для JavaScript, как и jQuery. У них нет ничего, чтобы делать с PHP, Java или любым другим серверным языком, потому что они являются частью клиентской стороны: JavaScript.

Если вы делаете это для просмотра файлов на сервере , вы просто отправляете HTML-представления списка файлов в браузер. Вы должны использовать Prototype для управления этим HTML.

Не существует Javascript-клиентских файловых браузеров, независимо от того, используете ли вы jQuery или Prototype, потому что JavaScript не может видеть локальную файловую систему на клиентской машине. Это было преднамеренно спроектировано по соображениям безопасности.

+0

вот что я имею в виду: http: // abeautifulsite.net/blog/2008/03/jquery-file-tree/Мне нужно что-то подобное, но написанное в Prototype, вам не нужно выкладывать его, как будто я ребенок, возможно, я был недостаточно ясен, файловый браузер для просмотра файлов на стороне сервера, он вызывает серверную страницу, и это выводит элементы HTML, которые содержат различные файлы/папки системы, а затем JavaScript обрабатывает их по мере необходимости, чтобы отображать браузер collabsilbe/расширяемый файл. Было бы неплохо, если бы у вас уже были коннекторы, написанные для JSP, а не PHP, но я могу переписать для Java, если это необходимо. – Rick

+0

Вот, наверное, самая полная коллекция дополнений Prototpye (http://scripteka.com/), но я сомневаюсь вы найдете что-нибудь подобное. Вы можете попробовать использовать режим без конфликтов и просто делать это в jQuery в любом случае. Я успешно использовал обе библиотеки вместе и хорошо работает. –

+0

спасибо, да, я согласен, я должен просто сделать это в JQuery, но, к сожалению, это не мое решение сделать, я могу в конечном итоге просто написать собственный код, чтобы сделать это – Rick