Domanda

Nel metodo Render di un controllo web ASP.NET, devo modificare l'output dell'Html in base al fatto che JavaScript sia abilitato o disabilitato nel browser client,

Qualcuno conosce l'incantesimo giusto per capirlo?

È stato utile?

Soluzione

Il problema con l'utilizzo dello script per verificare se javascript è abilitato è che lo scopri solo dopo che lo script non è stato eseguito.

Alcune soluzioni provano il contrario: usano javascript per impostare un valore e quindi forniscono controlli abilitati Javascript se quel valore viene successivamente rilevato. Tuttavia, questo non riesce con strumenti abilitati a volte javascript come il plugin Firefox NoScript.

Una soluzione più solida è quella di inviare sempre il controllo compatibile con HTML semplice e quindi eseguire javascript al caricamento della pagina per aggiungere i gestori di eventi corretti / elementi DOM aggiuntivi / ecc.

Tuttavia non so come questo si adatti all'approccio ASP.NET ai controlli.

Altri suggerimenti

Il tag noscript viene utilizzato per definire un contenuto alternativo (testo) se un lo script NON viene eseguito.

EDIT: Ciao Kieron, dai un'occhiata a questo link: Creazione di un controllo server per i test JavaScript e Rileva se JavaScript è abilitato in ASPX

Il browser non comunica la disponibilità di Javascript con la richiesta.

Una cosa che ho fatto, anche se non sono sicuro che sia applicabile nel tuo caso, è generare la pagina come se Javascript non fosse abilitato, quindi avere un po 'di Javascript che disattiva le cose solo HTML e attiva il Roba HTML-Javascript.

Potresti anche avere la prima pagina colpita " phone home " tramite Javascript per registrare nella sessione se Javascript è abilitato o meno.

Questo è un modo per verificare quando viene inviato un modulo.

http://www.4guysfromrolla.com/webtech/082400-1.shtml

Non credo ci sia alcuna proprietà Request che ti dirà quando la pagina viene richiesta per la prima volta. C'è una proprietà che ti dirà se il browser supporta JS, ma non se è abilitato. Vedi qui

Quello che devi fare è questo. Dopo molti test e tarda notte, ho deciso di utilizzare la soluzione più semplice. Trascina un'etichetta nella parte superiore della pagina e assicurati che sia "esegui sul server". Quindi, per l'attributo Text, inserisci Text = " Questo sito web richiede Javascript " ;. Questa dovrebbe essere la risposta migliore. : D

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top