Отключение промежуточной графики при использовании привязки cfdiv

StackOverflow https://stackoverflow.com/questions/136581

  •  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');
}
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top