#javascript #html
#javascript #HTML
Вопрос:
Исходный код представления HTML является:
<IMG style="DISPLAY: inline" src="https://admit.belgacom.be/WCE/ESW/img/load.gif" />
но когда я вхожу в систему и достигаю этого местоположения, path отображается иначе, чем: (ESW отсутствует)
<IMG style="DISPLAY: inline" src="https://admit.belgacom.be/WCE/img/load.gif" />
Из-за изменения пути, ie без ESW изображение не загружается.
Примечание: у меня есть код javascript в JSP, где он заменяет новое изображение из-за проблемы IE settimeout как:
document.getElementById('imageId').src = "../../img/load.gif");
код:
<div id="toHide" class="pb-text-align-center">
<img style="display: inline" id='imageId' src="img/load.gif" />
<form wicket:id="safeForm" class="clearfix">
<input type="hidden" wicket:id="submitted" value="false" />
</form>
</div>
<SCRIPT type="text/javascript">
function setSubmit(){
document.getElementById("safeForm4c").submit();
document.getElementById('imageId').src = "../../img/load.gif"; }
if (document.getElementById("safeForm4c").submitted.value == "false") {
document.getElementById("safeForm4c").submitted.value = "true";
setTimeout('setSubmit()', 100);
}else{ document.getElementById("toHide").style.display="none";}
</SCRIPT>
Комментарии:
1. И вопрос в том? И почему вы избегаете этих разделителей строк? Это больше похоже на неправильный код на стороне вашего сервера.
2. Я не понимаю: сначала вы говорите, что «просмотр исходного кода» — это одно, но затем вы говорите, что это другое, когда вы действительно попадаете на страницу. Что такое серверная среда? Это php? ASP? JSP?
3. существует 2 способа входа в приложение: один — как гостевой пользователь, следующий — с данными для входа. когда я вхожу в систему, путь меняется. Я использую java / JSP.
4. @kasim ваш скрипт находится в том же документе, что и HTML? Если это так, я сейчас пересматриваю свой ответ
5. файлы скрипта, css, java, html находятся в одном месте / каталоге.
Ответ №1:
Я решил, назначив динамический путь к изображению вместо ../ ../img/load.gif как:
//document.getElementById(‘ImageID’).src = «../../img/load.gif «);
document.getElementById(‘ImageID’).src = document.getElementById(‘ImageID’).src;
<SCRIPT type="text/javascript">
function setSubmit(){
document.getElementById("safeForm4c").submit();
document.getElementById('imageId').src = document.getElementById('imageId').src; }
if (document.getElementById("safeForm4c").submitted.value == "false") {
document.getElementById("safeForm4c").submitted.value = "true";
setTimeout('setSubmit()', 100);
}else{ document.getElementById("toHide").style.display="none";}
</SCRIPT>
Ответ №2:
Одним из преимуществ является ваша файловая структура и относительное расположение, чтобы дать полный ответ по проблеме скрипта или структуре файлов, нам нужно было бы посмотреть, что у вас есть на месте.
Предполагая, что это не сценарий, из вашего сообщения похоже, что JavaScript находится в папке на том же уровне, что и img, например, глядя на структуру файла, я полагаю, что именно здесь хранятся ваши файлы
/htdocs/WCE/ESW/img/load.gif это путь к вашему изображению
/htdocs/WCE/alt1/alt2/java.js это путь, по которому ссылаются на свойство src
Теперь, когда я ввожу .. / ../img/load.gif это вернется к /htdocs/WCE/img/load.gif вырезание папки ESW.
Если это так, вам нужно будет посмотреть на свои файловые структуры, чтобы определить правильный путь (вероятно ../img/load.gif ), если у вас возникли проблемы, опубликуйте их здесь, и я (или другой здесь) могу попытаться помочь вам найти выход.
Я надеюсь, что это поможет.
ОБНОВЛЕНО В РЕЗУЛЬТАТЕ ДОБАВЛЕНИЯ КОДА:
Если ваш скрипт находится на той же странице, что и ваш HTML, попробуйте удалить ../ ../ из вашего JavaScript
Комментарии:
1. когда я удаляю ../ , изображение не перезаписывается через javascript. изначально загружается, но перезагрузки не происходит.
2. @kasim не могли бы вы, пожалуйста, поделиться дополнительным кодом, который обрабатывает начальную загрузку и повторную загрузку?