Также вы можете расширить объект HTMLElement, чтобы добавить методы для добавления, удаления, переключения и проверки классов ( gist ):
HTMLElement = typeof(HTMLElement) != 'undefiend' ? HTMLElement : Element;
HTMLElement.prototype.addClass = function(string) {
if (!(string instanceof Array)) {
string = string.split(' ');
}
for(var i = 0, len = string.length; i < len; ++i) {
if (string[i] && !new RegExp('(\\s+|^)' + string[i] + '(\\s+|$)').test(this.className)) {
this.className = this.className.trim() + ' ' + string[i];
}
}
}
HTMLElement.prototype.removeClass = function(string) {
if (!(string instanceof Array)) {
string = string.split(' ');
}
for(var i = 0, len = string.length; i < len; ++i) {
this.className = this.className.replace(new RegExp('(\\s+|^)' + string[i] + '(\\s+|$)'), ' ').trim();
}
}
HTMLElement.prototype.toggleClass = function(string) {
if (string) {
if (new RegExp('(\\s+|^)' + string + '(\\s+|$)').test(this.className)) {
this.className = this.className.replace(new RegExp('(\\s+|^)' + string + '(\\s+|$)'), ' ').trim();
} else {
this.className = this.className.trim() + ' ' + string;
}
}
}
HTMLElement.prototype.hasClass = function(string) {
return string && new RegExp('(\\s+|^)' + string + '(\\s+|$)').test(this.className);
}
И тогда просто используйте (этот клик добавит или удалит класс):
document.getElementById('yourElementId').onclick = function() {
this.toggleClass('active');
}
Здесь demo .
Созданный в веб-сервере для Visual Studio называют Cassini и здесь является несколькими его ограничений...
Когда вы используете IIS в Vista или Windows 7 с включенным UAC, вы должны запускать Visual Studio с правами администратора. Если вы сделаете это, вы не сможете перетащить дроп из оболочки в Visual Studio (даже если вы запустите экземпляр explorer.exe от имени администратора).
По этой причине я использую Cassini для большинства проектов.
Another dis-advantage is that it sends every request through the gloabal asax file which includes all requests for images and stylesheets. This means if you have code in there which does things with the file names, such as a look up, then the auxillary files willget processed too.
К вашему сведению, 64-разрядная версия Windows XP поставляется с IIS 6.
Это старый поток, начатый 2 года назад. Я только что наткнулся на UtilDev Cassini во время поиска в Google. Выглядит многообещающе. По крайней мере, у него есть возможность запускать несколько сайтов одновременно. Эта функция действительно полезна для меня, потому что я работаю на двух разных сайтах и мне приходится постоянно переключаться между ними с помощью IIS.
Одно различие, которое я нашел, - то, что дескрипторы сервера разработки, загружающие файлы по-другому, чем IIS. Вы не можете захватить ошибку, если загружаемый файл больше, чем Ваша установка Max_File_Size. Страница просто умирает и возвращает 500.
Если Ваш проект находится в каталоге IIS, можно все еще отредактировать код, просто зависит, если это было опубликовано или нет. Вы столкнетесь так с проблемами о Кассини по сравнению с IIS при отладке определенных основанных на разрешении сценариев, как kerberos и аутентификация NTLM, а также проблемы как сжатие сервера и т.д., В целом, Кассини все еще хорошо к dev с, но удостоверьтесь, что Вы делаете обширное тестирование при публикации к IIS.
Мы также видели некоторые проблемы с VS встроенный сервер относительно некоторых сторонних средств управления, которые помещают их сценарии в \aspnet_client папку. Так как папка не там, когда Вы не работаете под IIS, средства управления не работали. Кажется намного более простым всегда работать с IIS и избежать странных проблем.
Встроенный веб-сервер немного менее устойчив, чем IIS, но не требует никакой установки, таким образом, это - просто компромисс.
Вы не можете всегда хотеть свои проекты разработки, представленные на Вашем сервере IIS (даже Ваш локальный сервер IIS), таким образом, встроенный сервер хорош для этого.
Однако, если Ваше приложение собирается получить доступ к ресурсам за пределами нормы для веб-приложения тогда, можно хотеть отладить часто в IIS так, чтобы приложение работало с ограниченными полномочиями, и Вы видите, где болевые точки будут.
Вы наклоняете виртуальные каталоги использования: (
Я часто беру лучший из обоих миров и создаю приложение в IIS и использую созданный в веб-сервере для более эффективной отладки.
Установите IISAdmin, и можно установить отдельные сайты в IIS 5, вместо того, чтобы использовать виртуальные каталоги.
Кассини также не поддерживает классические ASP-страницы. Это - только проблема для проектов прежней версии, где старые ASP-страницы все еще существуют (как наше веб-приложение на работе).
Кассини является ment, чтобы быть легким тестовым веб-сервером веса. Идея состоит в том, что разработчику не должны были устанавливать IIS и настроенный для тестирования его приложения. Используйте IIS, если Вы знакомы с ним, и у Вас есть он, установка и Ваше поле могут handel он. Кассини не является ment, чтобы быть заменой.
Другой недостаток, с которым я столкнулся, находится на, Формы аутентифицировали веб-сайт с помощью пользовательского IPrincipal
/ IIdentity
. Cassini переключится AppDomains
, не предупреждая (или уведомление).
Проверка этот сообщение в блоге для больше. Головная боль на этом заставила меня отбросить Cassini и придерживаться IIS.
Созданный в сервере означает, что разработчик не должен знать, как настроить IIS для тестирования их сайта.
Вы могли утверждать, что это - недостаток, и что разработчик окон должен знать, по крайней мере, так много IIS. Или Вы могли утверждать, что разработчик, который не является системным администратором, не должен бездельничать с веб-сервером вообще.
Созданный в сервере столь же не настраивается, и он работает на нечетном порте, поэтому если Ваше рассчитывание на определенное поведение это может быть неприятно.
Если Вы 'веб-ссылка' URL для веб-сервисов, которые находятся на встроенном веб-сервере, порт, могли бы измениться. Если Вы не установили "Определенный порт", упомянул в Проекте-> страница параметров Свойств.
Это - что-то, к чему я привык теперь. Я всегда устанавливал определенный порт. Теперь, когда иногда катастрофические отказы веб-сервера (я имел, которые происходят), я просто изменяю номер порта, и все хорошо. Я считаю, что перезапуск также зафиксирует это.
у Вас должна быть Visual Studio, работающая для использования его (при нормальных обстоятельствах)
, Это только отвечает на localhost, таким образом, Вы наклоняетесь, дают ссылку http://simon-laptop:37473/app1
другу для просмотра сайта по сети
Большой disavantage: более трудно добраться скрипач работа, потому что localhost трафик не отправляется через прокси.
Редактирование: использование http://ipv4.fiddler:37473
является лучшим способом получить Скрипача, работающего с ним.
существует ошибка в способе, которым встроенный сервер обрабатывает HTTPModules - существует обходное решение , но я очень не хочу иметь необходимость вставить код, это никогда не будет необходимо в производстве.
Если Вы делаете работу хобби дома с помощью XP Домой, Вы не можете установить IIS локально.
Веб-сервер Visual Studio меньше прощает [приблизительно 110] в пути.
Это откажется вручать ссылку как: http://localhost:52632/main//images/logo.jpg
, где IIS сделает.
Это довольно неясно, но означает, что у нас есть большая фиксация, чтобы сделать для избавлений от весь эти //
случаи.
Созданный в сервере работает хорошо на более крупные корпорации, которые не хотят давать разработчикам любой доступ администратора на их собственных машинах для конфигурирования IIS.
Все предыдущие ответы являются большими ответами - вот один глюк с Cassini, который мог бы потребовать IIS на destkop.
Cassini работает в контексте разработчика, не как пользователь IIS (IUSR _, IWAM, или в WinXP x64, процессе w3wp). Это может быть немного болезненно, если у Вас есть веб-сайт, который получает доступ к внешним файлам или создает временные файлы. Является самым очевидным, когда Ваш разработчик работает как Администратор их рабочего стола.
при перемещении в сервер IIS что-то, к чему у Вас был бы доступ в Cassini, не работает то же. CACLing с IIS_WPG обычно - все, что требуется для фиксации, но если разработчик не будет думать об этом, они будут быстро вполне расстроены их развертывающиеся.
Кассини не поддерживает виртуальные каталоги