Disabilitazione del grafico interstiziale quando si utilizza il binding cfdiv
-
02-07-2019 - |
Domanda
Esiste un modo per mantenere " Caricamento in corso ... " grafico che appare quando cfdiv si aggiorna? Vorrei evitare lo sfarfallio del caricamento della grafica e del caricamento del nuovo HTML.
Soluzione
Aggiungendo queste righe nella parte inferiore dell'intestazione, sovrascrive il "Caricamento in corso ..." html e sembra impedire l'effetto sfarfallio sia in IE che FireFox:
<script language="JavaScript">
_cf_loadingtexthtml="";
</script>
Anche se questo sembra fare il trucco, sarebbe bello se ci fosse un modo ufficialmente supportato per personalizzare l'animazione di caricamento su una pagina o per controllo. Spero che aggiungano supporto per quello in ColdFusion9.
Altri suggerimenti
Non credo che ci sia attualmente un modo per farlo programmaticamente all'interno del tag cfdiv
. Se vuoi davvero sbarazzarti di questo " Caricamento in corso ... " messaggio e l'immagine, ci sono un paio di posti in cui puoi cercare.
Puoi rinominare o eliminare l'immagine, che si trova in: CFIDE\scripts\ajax\resources\cf\images\loading.gif
Questo elimina solo l'animazione. Il " Caricamento ... " il testo può essere cancellato da una stringa vuota ed è definito in: CFIDE\scripts\ajax\messages\cfmessage.js
Apportare queste modifiche avrà ovviamente un impatto su tag diversi da cfdiv
, ma se stai cercando di eliminare questo comportamento in un posto, sono sicuro che non ti dispiacerà ucciderlo ovunque pure. :)
Mi piacerebbe vedere un modo più pulito per farlo se qualcun altro ha qualche idea.
Questa non è affatto una soluzione completa o elegante, ma ho scoperto che l'uso di margini negativi su elementi adiacenti può "coprire". l'animazione. Non so se questo metodo funzioni in tutti i casi, ma per il mio caso particolare ha funzionato. L'animazione appariva accanto a un campo di testo associato, a destra del quale era presente un pulsante di invio. Lo strato è stato spostato a destra. Ho usato il margine negativo sul pulsante di invio e ha coperto l'animazione senza influire sull'allineamento del livello.
Un'altra misura che ho fatto è stata quella di controllare la struttura del livello e, di sicuro, ho aggiunto il seguente codice al mio CSS:
#TitleNameloadingicon {visibility:hidden;}
#TitleName_cf_button {visibility:hidden;}
#TitleNameautosuggest {background-color:#ffffff;}
È possibile creare funzioni per modificare il messaggio prima di chiamare il carico Ajax che può impostare il messaggio e l'immagine su un nuovo valore.
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'>";
}
(questi verranno infine inseriti in un'unica funzione che accetta sia un parametro text_value che un parametro image_path)
In alcuni dei miei processi che caricano sia il cfdiv di navigazione principale che quello di sinistra utilizzo una funzione come questa:
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');
}