Форум программистов, компьютерный форум, киберфорум
Java EE (J2EE)
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
88 / 86 / 55
Регистрация: 14.11.2015
Сообщений: 1,099
1

[JSP] JS скрипт из файла не работает, а если вручную писать - работает

16.09.2017, 13:21. Показов 1999. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
У меня в 4 файлах нужен один и тот же скрипт, я и его вынес в отдельный файл appendLanguageParamToUrl.js
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
function appendParameters() {
    var separator = (window.location.href.indexOf("?")===-1)?"?":"&";
    if (/language/.test(window.location.href)) {
        if(/language=ru/.test(window.location.href)) {
            window.location.href = window.location.href.replace("ru", "en");
        } else if(/language=en/.test(window.location.href)) {
            window.location.href = window.location.href.replace("en", "ru");
        }
    } else {
        window.location.href = window.location.href + separator + "language=ru";
    }
}
У меня есть adminHeader.jsp(проблемный участок - стрелка слева)
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
 
<fmt:setLocale value="${language}" />
<fmt:setBundle basename="i18n.utils.admin_utils.adminHeader"/>
 
<link rel="script" href="/resources/js/appendLanguageParamToUrl.js">
 
<nav class="navbar navbar-toggleable-md navbar-inverse fixed-top bg-inverse">
    <button class="navbar-toggler navbar-toggler-right hidden-lg-up" type="button" data-toggle="collapse" data-target="#navbarsExampleDefault" aria-controls="navbarsExampleDefault" aria-expanded="false" aria-label="Toggle navigation">
        <span class="navbar-toggler-icon"></span>
    </button>
    <a class="navbar-brand" href="/admin-dashboard/trips"><fmt:message key="adminHeader.dashboard"/></a>
 
    <div class="collapse navbar-collapse" id="navbarsExampleDefault">
        <ul class="navbar-nav mr-auto">
            <li class="nav-item">
                <a class="nav-link" href="/my-settings"><fmt:message key="adminHeader.settings"/></a>
            </li>
            <li class = "nav-item">
       -----> <a class="nav-link" onclick="appendParameters(); return false;" style="float: right">
                    <span class="fa fa-globe"></span>
                </a>
            </li>
        </ul>
 
        <ul class="navbar-nav" style="float: right">
            <li class="nav-item">
                <a class="nav-link" href="/logout"><fmt:message key="adminHeader.logout"/></a>
            </li>
        </ul>
    </div>
</nav>
Как видно, я включил скрипт. IDEA, когда пишешь в onclick(), видит что эта функция есть.

Этот header включается в другие страницы так
HTML5
1
<%@include file = "../../../resources/jsp/admin_utils/adminHeader.jsp" %>
Если я открываю на любой странице(с этим хедером) исходный код то я вижу линк на скрипт и могу его посмотреть(то есть его браузер видит).


Если скрипт копипастить во все 4 файла то все работает.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.09.2017, 13:21
Ответы с готовыми решениями:

Зачем писать override, если и без него всё работает
Зачем писать override, если и без него всё работает?public class MyBaseClass { public...

Если скрипт параметризированный, то он не работает
В общем задачка выплюнуть клиенту xls-файлик. Есть скрипт (к примеру test.asp) Если напрямую...

Не работает скрипт из подключаемого файла
Проблема в следующем. Если я меняю текст в теге с помощью скрипта, помещенного в код страницы, то...

Скрипт работает только если у .htaccess права 666, будет ли безопасно это?
{ $ip = &quot;deny from &quot;.$_SERVER.&quot;\r\n&quot;; $fp = @fopen(&quot;.htaccess&quot;, &quot;a+&quot;); fwrite($fp, $ip);...

1
88 / 86 / 55
Регистрация: 14.11.2015
Сообщений: 1,099
18.09.2017, 11:54  [ТС] 2
Методом тыка пришел к тому, что нужно писать в конце файла
HTML5
1
<script src="/resources/js/appendLanguageParamToUrl.js"></script>
Вместо
HTML5
1
<link rel="script" href="/resources/js/appendLanguageParamToUrl.js">
вначале.

Кто-нибудь подскажет, почему? То что скрипты нужно включать в конец, потому что так страница быстрее грузится, я уже прочитал. А вот почему скрипт не работал я так и не понял.

Добавлено через 3 минуты
Первая строчка работает даже если писать в начале файла.

HTML5
1
<link rel="script" href="/resources/js/appendLanguageParamToUrl.js">
Это для стилей используется, а не для скриптов.
0
18.09.2017, 11:54
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.09.2017, 11:54
Помогаю со студенческими работами здесь

PHP скрипт (SellFileEasy) работает на локальном сервере, но не работает на хостинге
Всем доброго времени суток! Данный скрипт предназначен для продажи файлов. При переходе на...

Скрипт не работает на странице, хотя отдельно все работает
ребят делаю сайт. js плохо знаю по это пытаюсь методом тыка написать программу в которой нажимая...

Почему скрипт не работает в Chrome, а в Firefox и Opera работает?
Имеется обычный код JS, работающий в Firefox и Opera, но не работающий в Chrome. Кстати хотел ещё...

Шрифты. Скрипт работает на Win8.1, не работает на Win10
Спасайте, народ! Всё очень просто: скрипт может самостоятельно установить большое количество...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru