Отключение промежуточной графики при использовании привязки cfdiv
-
02-07-2019 - |
Вопрос
Есть ли способ предотвратить появление графического изображения "Загрузка ..." при обновлении cfdiv?Я бы хотел предотвратить мерцание при загрузке графического изображения, а затем загрузке нового html.
Решение
Добавляя эти строки в нижней части заголовка, он перезаписывает HTML-код "Loading ..." и, похоже, предотвращает эффект мерцания как в IE, так и в FireFox:
<script language="JavaScript">
_cf_loadingtexthtml="";
</script>
Хотя это, кажется, помогает, было бы неплохо, если бы существовал официально поддерживаемый способ настройки анимации загрузки для каждой страницы или для каждого элемента управления.Надеюсь, они добавят поддержку для этого в ColdFusion9.
Другие советы
Я не думаю, что в настоящее время существует способ сделать это программно в рамках cfdiv
бирка.Если вы действительно хотите избавиться от этого сообщения "Загрузка ..." и изображения, есть пара мест, где вы можете посмотреть.
Вы можете переименовать или удалить изображение, которое находится по адресу: CFIDE\scripts\ajax esources\cf\images\loading.gif
Это только избавляет от анимации.Текст "Загрузка ..." может быть заменен пустой строкой и определен в: CFIDE\scripts\ajax\messages\cfmessage.js
Внесение этих изменений, очевидно, окажет влияние на теги, отличные от cfdiv
, но если вы хотите устранить это поведение в одном месте, я уверен, вы не будете возражать уничтожить его и везде в другом месте.:)
Я хотел бы увидеть более чистый способ сделать это, если у кого-нибудь еще есть какие-нибудь идеи.
Это ни в коем случае не всеобъемлющее или элегантное решение, но я обнаружил, что использование отрицательных полей на соседних элементах может "прикрыть" анимацию.Я не знаю, работает ли этот метод во всех случаях, но в моем конкретном случае он сработал.Анимация появилась рядом с привязанным текстовым полем, справа от которого находилась кнопка отправки.Слой был перемещен вправо.Я использовал отрицательное поле на кнопке отправки, и оно покрывало анимацию, не влияя на выравнивание слоя.
Еще одной мерой, которую я предпринял, была проверка структуры слоя, и я добавил следующий код в свой css be sure:
#TitleNameloadingicon {visibility:hidden;}
#TitleName_cf_button {visibility:hidden;}
#TitleNameautosuggest {background-color:#ffffff;}
Вы можете создать функции для изменения сообщения перед вызовом ajax load, которые могут присвоить сообщению и изображению новое значение.
function loadingOrder(){
_cf_loadingtexthtml="Loading Order Form <image src='/CFIDE/scripts/ajax/resources/cf/images/loading.gif'>";
}
function loadingNavigation(){
_cf_loadingtexthtml="Loading Menu <image src='/CFIDE/scripts/ajax/resources/cf/images/loading_nav.gif'>";
}
(в конечном итоге они будут объединены в единую функцию, которая будет принимать как text_value, так и параметр image_path)
В некоторых моих процессах, которые загружают как основную, так и левую навигацию cfdiv, я использую функцию, подобную этой:
function locateCreateOrder(){
loadingOrder();
ColdFusion.navigate('/functional_areas/orders/orders_actions/cf9_act_orders_index.cfm','main_content');
loadingNavigation();
ColdFusion.navigate('/functional_areas/products/products_actions/cf9_products_menu.cfm','left_menu');
}