#html #coldfusion
Вопрос:
У меня есть список URL-адресов для изображений, и я хочу отображать определенное изображение каждый раз, когда html-страница загружается снова. У меня есть переменная url-адреса p, значение которой будет увеличиваться на единицу каждый раз при загрузке html-страницы.
Ниже приведен код, который у меня есть:
<cfif p eq 1>
<cfset w="image1.png">
<cfelseif p eq 2>
<cfset w="image2.png">
<cfelseif p eq 3>
<cfset w="image3.png">
</cfif>
<img class="class1" src=<cfoutput>#w#</cfoutput>>
Однако ColdFusion, похоже, не распознал cfoutput, когда он был в теге?
Комментарии:
1. проверьте инструменты разработчика, может быть, это просто отсутствующий/неправильный путь к изображению? может быть, недостающее «» для src?
Ответ №1:
Ваш код, кажется, в порядке. Я провел быстрый успешный тест следующего кода на trycf.com и это работает:
<cfset P=RandRange( 1, 3)>
<cfif p eq 1>
<cfset w="https://picsum.photos/200/400">
<cfelseif p eq 2>
<cfset w="https://picsum.photos/300/300">
<cfelseif p eq 3>
<cfset w="https://picsum.photos/400/100">
</cfif>
<img class="class1" src=<cfoutput>#w#</cfoutput>>
Так что ваша проблема, похоже, не в коде. Чтобы определить проблему, вам нужно просмотреть сгенерированный исходный код в инструментах разработчика, как упоминал @luke в своем комментарии. Посмотрите также на вкладке «Сетевые инструменты разработчика», правильно ли запрашиваются и загружаются изображения вашим браузером. Также вполне вероятно, что ваш браузер блокирует отображение изображений.
Тем не менее, я бы поставил значение атрибута изображений src в двойные кавычки и полностью включил тег изображения с тегами cfoutput (для лучшей читаемости кода), вот так:
<cfoutput>
<img class="class1" src="#w#">
</cfoutput>