Прежде всего Konrad является правильным заключить спецификацию в кавычки, как, именно это определяет язык и отвечает на Ваш первый вопрос.
Для ответа на другие вопросы:
там какие-либо другие такие причуды браузера JavaScript, которых я должен опасаться?
, О, слишком многие для списка здесь! Попробуйте веб-сайт QuirksMode для хорошего места для нахождения почти всего известного.
, Как я избегаю ошибок, таких как они?
лучший способ состоит в том, чтобы использовать библиотека , который абстрагируют эти проблемы далеко для Вас так, чтобы можно было перейти к волнению по поводу логики приложения. Хотя немного тайный, я предпочитаю и рекомендую MochiKit.
Сверху моей головы: Потоки данных NTFS были введены в Windows NT 4.0 и присутствовали во всех потомках (за исключением потомков win-95: 98, Me) . В XP, Vista и Win 7 они все еще существуют. Пока версии Windows поддерживают NTFS, они будут поддерживать файловые потоки. Они будут поддерживать NTFS в течение долгого времени.
Ошибка описана на странице, которую вы указали в своем вопросе. Команда типа
не распознает потоки. Использование:
more < 1013.pdf:Zone.Identifier
У Microsoft есть только несколько команд, которые работают с потоками, на самом деле только <
, >
работают с потоками, и поэтому только команды могут могут работать с этими операторами перенаправления. Я написал пару сообщений в блоге об альтернативных потоках данных о том, как вы все еще можете управлять потоками с помощью только этих команд.
Потоки будут работать только с программами, которые предназначены для работы с ними, просто потому, что им нужно обрабатываться специально (сравните точки соединения, тоже функция NTFS, но драйвер скрывает детали, и программам не нужно делать ничего особенного: они просто считают точку соединения реальным файлом).
Когда вы пытаетесь открыть файловый поток, используя start filename: streamname
, и программа говорит что-то вроде «недопустимое имя файла» или «файл не найден», и вы уверены, что имя потока правильное, то скорее всего программа не поддерживает потоки. Заметил, что Блокнот, Wordpad и Word / Excel корректно работают с потоками, хотя Word и Excel считают файлы опасными. Вот некоторые эксперименты , которые вы можете попробовать.
ПРИМЕЧАНИЕ: вы, кажется, считаете альтернативные потоки данных странными. Они странные, потому что они настолько скрыты, но они есть во многих основных файловых системах (HFS, NSS), и концепция восходит к началу 80-х годов. Фактически, изначально потоки были добавлены в NTFS для взаимодействия с другими файловыми системами.
Кстати, вы можете открыть AltDataStream с помощью блокнота:
notepad.exe 1013.pdf:Zone.Identifier
Кроме того, вы можете указать тип AltDataStream (не только с помощью Блокнота, это «полное имя потока»):
1013.pdf:Zone.Identifier:$DATA
Одна из возможных целей альтернативного потока: метаданные. Для документа можно добавить большое описание, не влияя на содержимое исходного файла.