Вместо использования встроенных обработчиков атрибутов (которые сложны в управлении и обычно считаются довольно плохой практикой), вместо этого присоедините обработчик, используя Javascipt, внутри onload
:
window.onload = function() {
const test = document.querySelector('.test');
// handleCannon:
test.addEventListener('click', () => {
test.textContent = 'bananas';
handleBullet.reset();
});
// ...
Обратите внимание, что назначение значение onload
будет означать, что этот обработчик будет перезаписан, если что-либо еще назначит onload
(аналогично, другой обработчик, уже находящийся в onload
при выполнении этого скрипта, будет перезаписан) - вместо этого вы можете использовать addEventListener
, разрешив сценарии для прослушивания события load
в нескольких местах, что может быть полезно для больших или нескольких сценариев:
window.addEventListener('load', () => {
const test = document.querySelector('.test');
// handleCannon:
test.addEventListener('click', () => {
test.textContent = 'bananas';
handleBullet.reset();
});
// ...
});
Вы можете получить запрошенный домен с неповрежденным субдоменом, используя " Request.Headers [" HOST "] ". Вот простой метод, который возвращает поддомен текущего запроса. Этот метод также предполагает, что у вас есть ".COM", ".NET" и т. Д. После домена, как в реальной сети. Итак, вы захотите изменить свой файл HOSTS, включив в него «localhost.com», «abc.localhost.com» и т. Д.
public string subdomain()
{
string host = Request.Headers["HOST"];
if (!string.IsNullOrEmpty(host))
{
var parts = host.Split('.');
if (parts.Length > 2)
{
return parts[0];
}
}
return string.Empty;
}
Я искал именно это, и вот статья, которая на самом деле помогла мне понять это вне: https://web.archive.org/web/20090813174916/http://blogs.securancy.com/post/ASPNET-MVC-Subdomain-Routing.aspx
Не знаю насчет заголовков, но я использовал один малоизвестный трюк: все адреса 127. * являются адресами localhost, а не только 127.0.0.1. Фактически вы можете запустить один сервер, прослушивающий порт 80 127.0.0.1, а другой экземпляр веб-сервера, прослушивающий порт 80 127.0.0.2. Тогда вы должны назвать 127.0.0.1 localhost, 127.0.0.2 может быть abc.localhost (или abc.mydomain .com, чтобы вы могли проверить реальные живые URL-адреса на вашем локальном веб-сервере) и т. д.
Я использую Windows 7, IIS 7.5, VS 2008, SQL server 2005
Мне удалось успешно смоделировать субдомен при покупке localhost, поместив следующую строку в etc / hosts
127.0.0.2 myapp.localhost.com
и , в IIS я создал новый веб-сайт со следующими изменениями в разделе привязок:
Hostname = myapp.localhost.com
IP address = 127.0.0.2
Я также создал новый пул приложений, но в этом нет необходимости. Возможно, вам придется изменить пользователя аутентификации, который используется для работы с запросами. У меня были ошибки разрешения подключения SQL с пользователем IIS по умолчанию.
IIS>Application Pools>>Right Click on your pool>Advanced Settings>Identity = LocalSystem