Original on http://webtips.dantobias.com/force.html

Дана веб - советы:

"Как заставить ...?"

СОВЕТ: Поймите, что HTML не может "заставить" выполнять - какое либо действие, и не пытайтесь продолжать обойти это ограничение; вы будете просто раздражать ваших пользователей и сделаете сайт менее доступным.

Общие для "новичка" вопросы в группах новостей, посвященных веб-авторингу являются те, которые начинаются "Как заставить браузер пользователя, чтобы ..."

...И список продолжается. Все Они показывают отсутствие понимания того, как работает Web. Там нет никакого способа , автор может заставить что - либо о пользователе. Различные HTML конструкции могут предложить определенные действия со стороны браузера, но они не могут вынудить их.

Это правда, что некоторые новые (иногда нестандартные) конструкции и дополнения, особенно языки сценариев, как JavaScript, может "заставить" различное поведение браузера, по меньшей мере, на части браузера, который поддерживает такую ​​деятельность. Но на браузер, который не один, и в которых такие дополнения будут отключены от предпочтений пользователей, они не могут ничего форсировать. (Некоторые браузеры, такие как Mozilla и Opera , становятся очень хорошо на разработку сложных настроек предпочтений , чтобы позволить пользователям отключить некоторые из наиболее раздражающих вещей , сайт может попытаться сделать, как поп-под объявлениями, сохраняя при этом возможности большинства мультимедийных улучшений , которые могут на самом деле улучшить качество сайта.)

Даже если бы это было возможно, чтобы заставить такие вещи на пользователя, возникает вопрос: "Почему вы хотите сделать это?" Большая часть сообщества пользователей склонны раздражаться при таких попытках манипулировать свой опыт просмотра, и раздраженный пользователь, вероятно, не будут возвращаться на ваш веб-сайт. Пользователи привыкли использовать стандартные навигационные инструменты, такие как кнопки Назад браузера и не понравится, если вы каким-то образом удается отключить их. Пользователи могут использовать любое количество различных машинных платформ и разрешение дисплея, и может быть не в состоянии или не желает, чтобы заставить определенную ширину пикселя только в соответствии с вашими плохо разработанных макетов, которые не могут изменить размеры к настройкам пользователя. Пользователи могут видеть угрозу безопасности в управлении встроенных апплетов и скриптов и отказываются включить эти настройки, так что если ваш сайт делает их обязательными для навигации он будет просто уйти.

Отсутствие способности заставить поведение браузера, безусловно, разочарование для разработчиков, которые используются для создания отдельных программных продуктов, предназначенных для одной конкретной платформы и которые работают полностью от начала до конца под контролем разработчика, но если вы разрабатываете для Web, вы 'придется потерять что мышление и научиться принимать больший контроль веб-пользователь имеет по опыту просмотра.

Некоторые замечания по конкретным Попыткам "силы"

Вот некоторые более конкретные замечания по некоторым из конкретных вещей, которые люди часто желают сделать с помощью "силы":

Принуждение новых окна браузера, чтобы открыть, закрыть, иметь размер для определенных размеров, а также отсутствие нормального управления, такие как кнопки Назад

Если JavaScript включен, вы можете использовать его, чтобы делать такие вещи. Но это те виды вещей, которые могут раздражать многих пользователей, поскольку они изменяют нормальный пользовательский интерфейс браузера, и если пользователь находится низко в памяти, может даже привести к сбою или зависанию системы. Они также могут получить пользователям войти в "петли", где же нежелательные всплывающие окна продолжает открытие заново каждый раз, когда пользователь закрывает его, повышая уровень раздражения.

Удаление сайтов из "Back-Button" истории

Очень распространенный запрос, чтобы сделать невозможным для пользователя, чтобы вернуться на страницу, с помощью кнопки Назад. Иногда есть даже законные основания для этого, хотел бы предотвратить элементы формы от быть представлены дважды или из заказа, или для защиты безопасности личной информации, введенной на странице. В других случаях это просто неразумно желание со стороны контрольного урод клиента, который не может стоять пользователям выбирать свою собственную последовательность просмотра их сайта, или даже серфинг на сайтах других людей, и возвращаться на исходный сайт позже. В любом случае, это не представляется возможным. Даже с языками сценариев, я не знаю ни одного пути, чтобы удалить сайты из истории пользователя. Если ваша потребность в этом для интрасети или киоска, где вы управляете браузер, вы можете искать заказного браузер, который имеет такие функции, встроенные в систему.

Принуждение настройки шрифтов, размеров и цветов, независимо от настроек браузера

Вы можете предложить другие параметры шрифта различными способами, в том числе и различные таблицы стилей (устаревшее в HTML 4.0) презентационных тегов и атрибутов. В некоторых браузерах, некоторые из этих параметров "сила" необходимые настройки, независимо от конфигурации пользователя. Это плохая идея, потому что это может привести к страницам, которые нечитаемым для пользователей с особыми потребностями. Например, те, с плохим зрением может понадобиться более крупные шрифты, и те, с дальтонизмом может понадобиться настроить цветовые комбинации, которые могут быть прочитаны с ними, даже если они выглядят странно для других. Чем больше автор сайта делает, чтобы попытаться победить такие вещи, и чем больше браузер сотрудничает, менее читаемыми сайт будет таким пользователям.

Принуждение файлов для загрузки, запуска, запуска конкретных приложений и т.д.

Вы не можете сделать это. Веб - протоколы были разработаны , чтобы определить, с помощью MIME заголовков Content-Type, какое содержание поток данных имеет, но не точно указать , что делать с ним. Это было сделано по уважительной причине; автор сайта не имеет возможности узнать, какую именно система имеет конечный пользователь, или предпочтения данного пользователя о том, как иметь дело с различными типами данных. И некоторые способы работы с данными, как и автоматический запуск в файл с расширением .exe, представляют угрозы безопасности, такие как вирусы и "троянских коней". И если пользователь имеет Macintosh или систему Unix, DOS или под управлением Windows, .EXEs является недопустимой, так или иначе; но если вы позволите пользователь загрузить файл, он мог бы поставить его на диск и запустить его на ПК по коридору.

В целом, пользователи могут захотеть сделать свой собственный выбор относительно того, как иметь дело с различными типами файлов, отображения их в браузере, показывая их с помощью внешнего приложения-помощника, или сохранить их на свой жесткий диск, не давая вашего сайта силу одно конкретное поведение, которое не может работать даже на системе данного конкретного пользователя. Таким образом, вы должны убедиться, что ваш сервер посылает честный и точный заголовок Content-Type для каждого элемента он посылает.

Если вы отправляете файлы данных некоторого вида , которые пользователь должен экономить вместо просмотра в его / ее браузер, лучший тип MIME использовать это application/octet-stream ; это, как правило, вызывает диалоговое окно "сохранить", чтобы появиться. Это не "принудительный" (пользователь сможет настроить браузер, чтобы сделать что-то еще с такого рода данных), но это обычное действие, и это ближайший вы можете добраться до "заставляя браузер, чтобы сохранить файл." Но вы не можете заставить каталог или имя файла он сохраняется под именем, хотя браузеры, как правило, получают название из последней части URL (хотя они могут варьироваться в невыносимых способами, иногда наматывания со странными именами файлов, в отличие от одного вы задумали) ,

Вы всегда можете поощрять пользователя, чтобы сделать использование функции браузера для сохранения файла на диск, например, щелкнув правой кнопкой мыши в Netscape или MSIE, которая не работает независимо от того, какой тип MIME используется или как браузер настроен для обработки этого типа.

Подавление предупреждающих диалоговых окон

Вы можете не нравится, что некоторые браузеры отображают "предупреждения об угрозах безопасности", когда ваш сайт пытается установить куки, запустить апплет или элемент управления ActiveX, перейти из безопасного (в зашифрованном виде) на незащищенные страницы и обратно, или другой деятельности, что некоторые браузеры, при некоторых параметрах конфигурации, предупреждают о. Некоторые авторы не любят это так много, что они спрашивают, есть ли способ заставить отключение таких предупреждений. Ну, если веб - автор мог бы сделать это, не то, что бы поражение цели этих предупреждений о возможных угроз безопасности? Получить реальные!

'Сокрытие' вашего исходного код страницы

Это, вероятно, самый распространенный "Как заставить ..." запрос на группы новостей в эти дни. Люди имеют преувеличенное представление о ценности их HTML-кода и хотите, чтобы защитить его от "украдено". Но нет никакого способа, чтобы скрыть HTML исходный код от пользователя. Браузер пользователя необходим для получения весь исходный HTML-код для того, чтобы отобразить страницу, так что независимо от того, какие коварные методы автор использует затемнять код, он все равно должен быть распознаваем браузером, и поэтому не слишком трудно для любого на полпути-интеллигентный пользователю превратиться в нечто читаемым.

Одна из больших вещей о Сети является то, что "новички" могут многое узнать о веб-авторинга, посмотрев на исходный код страниц. Это один из способов, я узнал, в первую очередь. Делая это, вы увидите много примеров (как хорошие и плохие) техник верстки веб, которые могут помочь вам в конечном итоге производить страницы, как хорошо, как те из профессионалов. Промежутки любительский / профессиональный и начинающий / эксперт в Сети гораздо меньше, чем в других средствах массовой информации, и это, возможно, из желания, чтобы расширить этот пробел, что некоторые из "профессионалов" хотят, чтобы найти способ, чтобы скрыть свой исходный код. Но она по-прежнему не может быть сделано.

Кроме того, нет никакого способа, чтобы остановить любого из печати, закладки или ссылки на вашей странице. Когда вы кладете что-то в Интернете, это честная игра для всего этого. Вы все еще юридически собственное авторское право на все, вы положили в Интернете (в соответствии с настоящим законом у вас есть авторские права на что-либо вы создаете, даже если он не имеет уведомление об авторских правах на него), и может подать в суд на кого-то, кто раздает его копии без вашего разрешение, но вы не можете остановить обычный веб-использование ваших документов, когда они находятся в Интернете, и что включает в себя другие сайты, делая ссылки на вашей странице. Если вы хотите, чтобы сделать его более трудным на людей, я думаю, вы можете продолжать двигаться ваши страницы вокруг так, что кто-то кто ссылается на один ветры с 404 Not Found ошибка на следующий день, но это будет раздражать ваших законных пользователей, по крайней мере столько, сколько кто вы думаете "разрывая вас."

Некоторые из людей, которые спрашивают, как подавить функцию "View Source" не делают это, чтобы предотвратить кражу своего кода, но потому, что они хотят, чтобы поддерживать безопасность чего-то в своем коде, такие как встроенный пароль или другие подобные вещи, которые могли бы злоупотреблять "хакеров", если они это знали. Если это так, то вам нужно полностью переосмыслить свой план обеспечения безопасности сайта. Ничего такого, что присутствует в коде отправляется в браузер не застрахован от перехвата пользователей, пытающихся "взломать" ваш сайт, даже вещи, которые компилируются в апплет (который может быть декомпилированы с помощью различных утилит). Необходимо переместить любой аспект вашего сайта, который требует безопасности на стороне сервера, а не на стороне клиента. Сервер должен быть там, где пароли сравниваются, статус пользователя и информацию об истории сохраняется и т.д., если вы хотите быть уверены, что ни одно из этого можно просматривать или взломать конечными пользователями.

Подавление правой кнопкой мыши, копирования и вставки

Это тесно связано с последним; много невежественных индивидуумов думают, что они могут остановить людей от «кражи» их содержание сайта, если они положили в раздражающих скрипты, подавляющих щелчка правой кнопки мыши и текста копирования. Нет, это вовсе не работает; это тривиально, чтобы отключить JavaScript, а затем сценарии не делать вообще ничего. Все, что они делают это раздражают нормальных пользователей, у которых есть много вполне разумных вещей, которые они могли бы хотеть сделать с щелкните правой кнопкой мыши и текстового копирования, такие как открытие ссылки в новых вкладках или копировании короткие выдержки для использования (в рамках добросоветного использования авторского права ) в обзорах сайта и комментарии.

Отправка или нет формы с ENTER

Это полностью под контролем браузера, а не на сайте автора. Большинство браузеров представит на кнопку ENTER, если есть ровно один текст-поле ввода, а не если есть больше чем один. Там нет никакого способа изменить это. (Наличие флажков и переключателей, кажется, не влияют на поведение браузера в этой области.)

Это MSIE "пунктирная коробка"

Общий вопрос в эти дни "Как отключить пунктирную окно, которое появляется вокруг интерактивными изображения в Microsoft Internet Explorer, когда он выбран?" Ну, есть "запутано" путь отключения этого, поместив в "OnFocus" событие JavaScript, который вызывает "размывание ()" функцию, чтобы удалить фокус из текущего объекта; но есть много пользователей, которые будут раздражаться, если вы сделаете это. Пунктирная коробка является доступность добавлена ​​функция от Microsoft, чтобы разрешить браузеру использовать полностью с клавиатуры без использования мыши. Некоторые пользователи предпочитают путешествовать таким образом, или есть недостатки, которые делают мышь навигации на основе трудно или невозможно. Если победить эту функцию, вы используете JavaScript, пользователи, которые хотят или должны перемещаться с помощью клавиатуры будет вынужден отключить JavaScript, чтобы использовать ваш сайт.

зал позора

Сделайте свой сайт лучше, глядя на других сайтах , которые показывают, например, с помощью чего не делать!

Примечание: Включение сайта в ссылки не должны быть истолкованы как любого рода личного нападения на создателя сайта мой "Зал позора", который может быть действительно великим человеком, или даже нападение на связанном веб - сайте в целом , который может быть источником действительно полезной информации и / или развлечения. Скорее, это просто, чтобы выделить специфические особенности (намеренное или случайное) из связанных сайтов, которые вызывают проблемы, которые можно было бы избежать за счет лучшего дизайна. Если вы обнаружили один из ваших сайтов связан здесь, не обижайтесь; улучшить ваш сайт, так что я должен буду снять ссылку!

Эта страница была впервые создана 29 Nov 1997, и последний раз была изменена 08 мая 2016.
Все права защищены © 1997-2016 Даниэль Р. Тобиаса. Все права защищены.