#javascript
Вопрос:
Мне нужно на сайты index.html и index.php и обе страницы содержат файл javascript script.js.
Я хотел бы выполнить некоторый код из script.js чтобы index.html и другим, чтобы index.php.
Возможно ли это сделать?
Код JS
function ChangeColor()
{
button.addEventListener("mouseover", () =>
{
button.classList.remove("red");
button.classList.add("blue");
}
)
button.addEventListener("mouseout", () =>
{
button.classList.add("blue");
button.classList.remove("red");
}
)
}
function CheckErrors()
{
//Content
}
В моем предыдущем коде я хотел бы выполнить функцию changeColor на обоих веб-сайтах, потому что у меня есть кнопка, а вторую функцию я хочу выполнить только в index.html потому что у меня есть форма.
Как я могу это сделать?, может быть, с помощью объекта window??
Комментарии:
1. Почему бы не разделить сценарии на разные файлы?
2. Я думал об этом, но мне бы хотелось, чтобы я мог избежать повторения некоторых строк в двух разных файлах
3. Вам не нужно ничего повторять. Вы можете разделить сценарий на три файла: один для общей функциональности, один специально для
index.html
, один специально дляindex.php
. Затем загрузите два файла сценария для каждой страницы соответствующим образом.4. Хорошо, я вижу, что это лучший способ для этого.
Ответ №1:
Вы можете проверить location.pathname
, равно ли /index.html
:
function ChangeColor() {
button.addEventListener("mouseover", () => {
button.classList.remove("red");
button.classList.add("blue");
})
button.addEventListener("mouseout", () => {
button.classList.add("blue");
button.classList.remove("red");
})
}
if (location.pathname == "/index.html") {
function CheckErrors() {
//Content
}
CheckErrors();
}
Комментарии:
1. Я пытался, но это не работает. Я не знаю, почему
2. @javi-ur96 Обновленный ответ. Теперь это должно сработать.
3. Привет @Spectric, Это не так
4. Можете ли вы посетить
index.html
и проверить, чтоlocation.pathname
возвращается?5. Он возвращается /index.html и если я сделаю это в index.php /index.php. Я не понимаю, что происходит.