2013-06-20 5 views
0

Простой вопрос, но probabbly сложный ответ. Я использую загрузчик файлов BluImp JQuery. Я настроил шаблоны так, чтобы файл с действительно длинным именем не испортил внешний вид моей веб-страницы. Вот пример кода, который я использую для этого.JQuery Шаблон Engine Half-Works в Chrome, Safari, Firefox

<!-- The template to display files available for upload --> 
<script id="template-upload" type="text/x-tmpl"> 
    {% for (var i=0, file; file=o.files[i]; i++) { %} 
    {% if (file.name.length > 16) file.name = file.name.substring(0, 16) + "..."; %} 
     <tr class="template-upload fade"> 
      <td class="name"><span>{%=file.name%}</span></td> 
      {% if (file.error) { %} 
       <td class="error" colspan="2"><span class="label label-important">Error</span> {%=file.error%}</td> 
      {% } else if (o.files.valid && !i) { %} 
       <td> 
        <div class="progress progress-success progress-striped active" role="progressbar" aria-valuemin="0" aria-valuemax="100" aria-valuenow="0"><div class="bar" style="width:0%;"></div></div> 
       </td> 
       <td>{% if (!o.options.autoUpload) { %} 
        <button class="btn btn-primary start"> 
         <i class="icon-upload icon-black"></i> 
         <span>Start</span> 
        </button> 
       {% } %}</td> 
      {% } else { %} 
       <td colspan="2"></td> 
      {% } %} 
      <td>{% if (!i) { %} 
       <button class="btn btn-warning cancel"> 
        <i class="icon-ban-circle icon-black"></i> 
        <span>Cancel</span> 
       </button> 
      {% } %}</td> 
     </tr> 
    {% } %} 
</script> 
<!-- The template to display files available for download --> 
<script id="template-download" type="text/x-tmpl"> 
    {% for (var i=0, file; file=o.files[i]; i++) { %} 
    {% if (file.name.length > 16) file.name = file.name.substring(0, 16) + "..."; %} 
     <tr class="template-download fade"> 
      {% if (file.error) { %} 
       <td></td> 
       <td class="name"><span>{%=file.name%}</span></td> 
       <td class="size"><span>{%=o.formatFileSize(file.size)%}</span></td> 
       <td class="error" colspan="2"><span class="label label-important">Error</span>{%=file.error%}</td> 
      {% } else { %} 
       <td class="name"> 
       {%=file.name%} 
       </td> 
       <td class="size"><span>{%=o.formatFileSize(file.size)%}</span></td> 
       <td colspan="1"></td> 
      {% } %} 
      <td width="130px;"> 
       <button class="btn btn-danger delete" data-type="{%=file.delete_type%}" data-url="{%=file.delete_url%}"{% if (file.delete_with_credentials) { %} data-xhr-fields='{"withCredentials":true}'{% } %}> 
        <i class="icon-trash icon-black"></i> 
        <span>Delete</span> 
       </button> 
       <input type="checkbox" name="delete" value="1" class="toggle"> 
      </td> 
     </tr> 
    {% } %} 
</script> 

Форматирование файла.name всегда работает в IE. Во всех других браузерах работает только шаблон загрузки. И.Е. Имя файла только обрезается ПОСЛЕ того, как файл был загружен. Итак, как я могу удалить имя файла перед загрузкой в ​​другие браузеры?

+0

Ew! Я бы помог, но я не хочу получать скрипт шаблонов на руках! – SpYk3HH

ответ

0

Используйте регулярное выражение, чтобы обрезать его вручную, например, следующие в пути Windows:

.replace(/[^\\]+\\/g,""); 

 Смежные вопросы

  • Нет связанных вопросов^_^