2010-09-06 2 views
1

Я знаю, что могу использоватьCSS: проверьте, является ли файл href?

a[href$='.mov'] 

, чтобы проверить, если HREF ссылается на файл .mov.

Однако могу ли я вообще проверить, относится ли атрибут href к файлу? Итак, любой файл с суффиксом в конце?

+3

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

+0

Короче говоря, список конкретных типов файлов, я не думаю, что это то, что CSS может разумно решить. –

+2

можете ли вы определить «файл»? Каждый href указывает на файл одного вида (или другой или якорь внутри файла). Похоже, у вас есть представление о том, что такое «настоящий файл» ... может быть, вы не хотите включать сценарии, например (или каталоги, но даже они просто файлы, после моды). И не будьте так уверены, что вы можете сделать оценки на основе расширения ... можете ли вы сделать что-то, что вы хотите сделать, и тогда мы сможем помочь вам – Mawg

ответ

1

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

Если у вас есть список известных расширений файлов, которые вы хотели, чтобы выбрать, вы могли бы сделать что-то вроде этого

a[href$='.mov'], 
a[href$='.exe'] { 
    color: red; 
} 

В противном случае, если вы были на стороне сервера язык, вы можете следовать по ссылкам и искать загрузки ответ заголовки (смотрите Content-Disposition: inline), хотя это также, вероятно, слишком много накладных расходов и плохая идея.

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

+1

хорошо, получилось! я найду другое решение. немой вопрос в первую очередь. Конечно, html-документы также являются файлами. извините за вопрос! – matt

+2

@mathiregister Не пожалеете! Если вы что-то узнали, я думаю, это было бы полезно :) – alex

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