jQuery e SharePoint 2010 - Come faccio a sapere se la pagina è in modalità di modifica, utilizzando JavaScript?
-
16-10-2019 - |
Domanda
Ho un javascript in una CEWP che voglio eseguire solo quando la pagina è in modalità di visualizzazione. Ho usato Firebug di setacciare pagina per un certo tipo "msEditMode" della variabile o qualcosa che posso fare affidamento su.
Ho visto un sacco di domande e risposte su come capire se una pagina è in modalità di modifica, dal lato server, ma non riesco a trovare una soluzione per come dire se la pagina è in modalità di modifica, lato client.
Qualcuno può punto nella giusta direzione di me? Ho bisogno di creare una web part che semplicemente emette variabile tale? (Che sembra eccessivo per me.)
Grazie mille!
Soluzione
La soluzione di Rob - guardando il pulsante -. Si presenta come un valido approccio
Inoltre, non esitate a dare un'occhiata al mio codice v5 Facile Tabs:
http://www.pathtosharepoint.com/ sharepoint-user-toolkit / Pagine / Easy-Tabs-v5.aspx
Nel caso delle schede facile, ho usato un approccio diverso perché avevo bisogno il codice per lavoro sia in SP 2007 SP 2010. Qui ci sono le prove che includevano:
p.getAttribute("contenteditable")=="true"; //(where p is a Web Part zone)
document.forms[0].elements["MSOLayout_InDesignMode"].value=="1";
document.forms[0].elements["_wikiPageMode.value"]=="true"; //(wiki page)
Altri suggerimenti
ho trovato post del blog di Amal Hashim: Javascript Rileva SharePoint pagina In Edit Mode ci sono diversi approcci per le pagine, wiki e le pagine editoriali. Li ho combinate in una funzione di supporto:
function isEditMode() {
var publishingEdit = window.g_disableCheckoutInEditMode,
form = document.forms[MSOWebPartPageFormName],
input = form.MSOLayout_InDesignMode || form._wikiPageMode;
return !!(publishingEdit || (input && input.value));
}
Questo restituisce true
se la pagina è in fase di modifica, e false
se la pagina è in modalità di visualizzazione.
Un approccio un po 'di formaggio è quello di cercare un elemento della pagina che esiste quando la pagina è in modalità di modifica. Ad esempio, quando in modalità di modifica delle "Strumenti di modifica" appare nastro e c'è un salvataggio icona fuori a sinistra. Se si utilizzano gli strumenti di sviluppo di IE, si vedrà il codice per il salvataggio aspetto dei pulsanti come questo:
Quindi, utilizzando jQuery è possibile verificare l'esistenza di "Salva e chiudi" nella pagina ... o scegliere un elemento completamente diverso -. Uno che è unico nel suo genere
Tenete a mente che i diversi tipi di pagine (blog, wiki, pagine web part) possono o non possono utilizzare diversi tag quindi questo potrebbe non funzionare su tutta la linea. Pertanto verifica che la pagina che si sta lavorando con prima di includere lo script.
Trovato maggiori informazioni. Se si vuole farlo attraverso il modello a oggetti, vedere se uno di questi link aiuta:
Alcuni esempi di implementazioni della classe di cui sopra: http://mystepstones.wordpress.com/2008/ 09/23 / rilevazione the current-mode-displayedit /