В чем разница между .htc и .js файлом? - PullRequest
46 голосов
/ 24 октября 2009

В чем разница между .htc и .js файлом? Можем ли мы преобразовать любой файл .htc в файл .js?

Проблема в том, что если мы используем htc для исправления png, то мы добавляем htc в файл css, используя

body { behavior: url("csshover3.htc"); } 

Но это недопустимо в W3C, поэтому вы хотите преобразовать .htc в .js, а затем использовать его как js-файл для подключения, чтобы оно было действительным в W3C.

Может кто-нибудь сказать мне, как конвертировать и использовать любой файл .htc в качестве файла JavaScript?

Ответы [ 3 ]

40 голосов
/ 24 октября 2009

Из Microsoft HTC Reference ? :

Для Microsoft Internet Explorer 5 и позже компоненты HTML (HTC) обеспечивают механизм для реализации компонентов в скрипт как динамический HTML (DHTML) поведения. HTC - это HTML-файл, который содержит скрипт и набор Специфичные для HTC элементы, которые определяют составная часть. Компонент сохраняется с расширение .htc. В этом разделе перечислены эти специфичные для HTC элементы и членов, которых они поддерживают.

Следовательно, это не просто файлы javascript .js, они также содержат набор специфичных для HTC элементов.

Edit:

Что касается преобразования из .htc в .js, я не уверен, что это можно сделать напрямую, но я натолкнулся на этот набор инструментов .js для решения тех же проблем, что и. htc файлы пытаются исправить в IE.

18 голосов
/ 24 октября 2009

htc-файл - это файл поведения, посмотрите на MSDN ? , W3C ? и здесь ? . В htc-файл вы можете встроить HTML-код, а также Script-Code. Поскольку htc-файл не является чистым Javascript-файлом, вы не можете просто преобразовать его, но можете извлечь его части Javascript, если вам нужно.

Большинство файлов HTC, которые я видел до сих пор, предназначены для решения проблем Internet Explorer, например Прозрачность PNG, которая показывает смысл htc-файлов: они могут прикреплять сторонние свойства к HTML-элементам, в данном случае прозрачность.

8 голосов
/ 27 октября 2009

Технически, вы можете использовать условные комментарии для проверки кода.

http://msdn.microsoft.com/en-us/library/ms537512%28VS.85%29.aspx

Хак это хак, просто странно, что MS сделал этот хак так, что это настоящий хак.

Теперь, еще кое-что, чтобы рассмотреть - вы используете библиотеку JavaScript? Тогда вам следует использовать библиотеку для выполнения этой функции, что устранит необходимость в HTC (для работы которого должен быть включен JavaScript).

...