25.06.2015, 16:10
|
|
Интересующийся
|
|
Регистрация: 17.07.2014
Сообщений: 22
|
|
Сообщение от ksa
|
Ну это кагбэ его основная работа...
Ранее ты писал о статичных страницах с сылками на документы... Теперь у тебя фигурируют какие-то "TEXTAREA".
|
Сайт на UCOZ, там есть стат.страници которые можно редактировать только встроенным редактором. и HTML код в TEXTAREA.
Сообщение от ksa
|
Для статичных страниц, дабы никого (кроме сервера на напрягать), я цеплял бы к ним скрипт, который:
- пройдет по ссылкам
- соберет имена файлов с их путями
- запросит сервер по их размерам
- преобразует ссылки к нужному виду
Т.о. никто из участников даже не заметит "усложнений" в своей работе.
|
Всё именно так и задумывалось)))...
Возвращаясь к первоначальной идее я столкнулся с проблемой что размер я получаю, если файл на том-же серваке что и страница со скриптом, но к ссылке прикрутить не получается...
если я не совсем ясно объяснил, то вот страница примера
такой код
<a id="url" href="http://dongb.ru/file/pril6.zip">pril6.zip</a>
<a id="url" href="http://dongb.ru/file/1-0001.jpg">1-0001.jpg</a>
<a id="url" href="http://dongb.ru/file/tp_2014.docx">tp_2014.docx</a>
<a id="url" href="http://dongb.ru/file/2199-r_perechen.pdf">2199-r_perechen.pdf</a>
<a id="url" href="http://dongb.ru/file/price/prejskurant_01_10_2013.doc">prejskurant_01_10_2013.doc</a>
обрабатывает такой скрипт
$("a#url").each(function(indx, element) {
var file = $(this).attr("href");
var parts, ext = (parts = file.split("/").pop().split(".")).length > 1 ? parts.pop() : "";
$(this).addClass(ext + " file-ico");
var type_file = "файл";
if (ext == "doc") {
var type_file = "Текстовый документ MS Word 2003";
}
if (ext == "docx") {
var type_file = "Текстовый документ MS Word 2007";
}
if (ext == "rtf") {
var type_file = "Текстовый документ MS WordPad";
}
if (ext == "xls") {
var type_file = "Табличный документ MS Exel 2003";
}
if (ext == "xlsx") {
var type_file = "Табличный документ MS Exel 2007";
}
if (ext == "pdf") {
var type_file = "Документ Adobe Acrobat Reader";
}
$(this).append("<br>Скачать " + type_file + " (<b>" + ext + "</b>)");
$(this).addClass("curr");
url = $("a.curr").attr("href");
var request,sizen;
request = $.ajax({
type: "HEAD",
url: url,
success: function (data) {
sizen = request.getResponseHeader("Content-Length");
alert("Size "+url+" is " + sizen);
$("a#url.curr").append(sizen);
}
});
$(this).removeClass("curr");
});
Последний раз редактировалось casper-man, 25.06.2015 в 16:13.
|
|
25.06.2015, 17:21
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,989
|
|
Сообщение от ksa
|
Что предлагал laimas, только наверное сам laimas и поймет...
Я вот не пойму и тебя...
Ранее ты писал о статичных страницах с сылками на документы... Теперь у тебя фигурируют какие-то "TEXTAREA".
Для статичных страниц, дабы никого (кроме сервера на напрягать), я цеплял бы к ним скрипт, который:
- пройдет по ссылкам
- соберет имена файлов с их путями
- запросит сервер по их размерам
- преобразует ссылки к нужному виду
Т.о. никто из участников даже не заметит "усложнений" в своей работе.
|
Тогда для обоих:
Если в форме разрешено добавление ссылок типа "а-ля <a href=...>", то это плохо. Если разрешена вставка ссылок посредством BB-тегов, это нормально. Хотя небо не упадет если и непосредственно теги разрешены, вот только работы серверу по приему формы будет невпроворот. Так или иначе, принимая форму с текстом, нужно пройтись в нем функцией preg_replace_callback, найти ссылки, проверить наличие указанных файлов, если нет, ссылка выбрасывается (или выдается ошибка клиенту, или клиент посылается на..., или др. варианты), если есть, значит получаем размер файла, можно и дату последнего обновления, и эту информацию добавляем в ссылку в тег title.
Что не понятного? Или вы друзья так и будет маяться "дурью", дергая сервер не понятно ради чего?
|
|
25.06.2015, 20:45
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,989
|
|
При скачивании по прямой ссылке, размер и так указывается, а если отдается скриптом, то его нужно указывать. Проблемы в этом нет никакой.
Другое дело, чтобы извещать пользователя до того как он будет скачивать файл. Да и вообще, по большому счету это не JS тема, а иного раздела.
|
|
25.06.2015, 22:16
|
|
Интересующийся
|
|
Регистрация: 17.07.2014
Сообщений: 22
|
|
|
|
26.06.2015, 08:28
|
|
CacheVar
|
|
Регистрация: 19.08.2010
Сообщений: 14,228
|
|
Сообщение от laimas
|
Так или иначе, принимая форму с текстом, нужно пройтись в нем функцией preg_replace_callback, найти ссылки, проверить наличие указанных файлов, если нет, ссылка выбрасывается (или выдается ошибка клиенту, или клиент посылается на..., или др. варианты), если есть, значит получаем размер файла, можно и дату последнего обновления, и эту информацию добавляем в ссылку в тег title.
|
Твоя идея потерпит крах. Потому как файлы в ссылках обновляются. И , записанная тобой информация, не будет отображать реальное состояние.
Сообщение от laimas
|
Или вы друзья так и будет маяться "дурью", дергая сервер не понятно ради чего?
|
Ради получения достоверной информации.
|
|
26.06.2015, 08:31
|
|
CacheVar
|
|
Регистрация: 19.08.2010
Сообщений: 14,228
|
|
Сообщение от casper-man
|
такой код
<a id="url" href="http://dongb.ru/file/pril6.zip">pril6.zip</a>
<a id="url" href="http://dongb.ru/file/1-0001.jpg">1-0001.jpg</a>
<a id="url" href="http://dongb.ru/file/tp_2014.docx">tp_2014.docx</a>
<a id="url" href="http://dongb.ru/file/2199-r_perechen.pdf">2199-r_perechen.pdf</a>
<a id="url" href="http://dongb.ru/file/price/prejskurant_01_10_2013.doc">prejskurant_01_10_2013.doc</a>
|
Что ты хочешь получить в итоге? Так же приведи пример хтмля...
|
|
26.06.2015, 09:07
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,989
|
|
Сообщение от ksa
|
Твоя идея потерпит крах. Потому как файлы в ссылках обновляются. И , записанная тобой информация, не будет отображать реальное состояние.
|
Вот только не надо чушь пороть Сервер и только он принимает и файлы, и тексты со ссылками.
|
|
26.06.2015, 14:47
|
|
CacheVar
|
|
Регистрация: 19.08.2010
Сообщений: 14,228
|
|
Сообщение от laimas
|
Сервер и только он принимает и файлы, и тексты со ссылками.
|
В исходной задаче есть статичные хтмл страницы и какие-то файлы... Все они живут своей жизнью...
От того, что кто-то, когда-то написал хтмл ну никак не влияет на то, что кто-то потом будет менять другие файлы, ссылки на которых уже не меняются...
Т.ч. чуши пока не вижу.
|
|
26.06.2015, 15:34
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,989
|
|
Сообщение от ksa
|
В исходной задаче есть статичные хтмл страницы и какие-то файлы...
|
Статический, не означает "бесхозный" появляющийся не известно по какой причине на сервере.
Сообщение от ksa
|
Все они живут своей жизнью...
|
Такое возможно только тогда, когда весь сервер живет своей жизнью, чего не должно быть.
Ребята, либо вы не представляете какие задачи возлагаются на сервер и поэтому пытаетесь перекладывать серверные проблемы на клиента, либо представляете и просто маетесь тем, о чем я говорил ранее.
|
|
|
|