jQuery y SharePoint 2010 - ¿Cómo puedo saber si la página está en el modo de edición, usando javascript?

sharepoint.stackexchange https://sharepoint.stackexchange.com/questions/4832

Pregunta

Tengo algo de JavaScript en un CEWP que quiero para ejecutar sólo cuando la página está en modo de visualización. He usado incendiario que buscar en la página de algún tipo "msEditMode" de la variable o algo que pueda confiar.

he visto un montón de preguntas y respuestas acerca de cómo saber si una página está en modo de edición, desde el lado del servidor, pero no puedo encontrar una solución para cómo saber si la página está en el modo de edición, el lado del cliente.

me puede punto cualquiera en la dirección correcta? ¿Es necesario crear un elemento web que simplemente emite una variable de este tipo? (Esto parece una exageración para mí.)

Muchas gracias!

¿Fue útil?

Solución

La solución de Rob - mirando el botón -. Ve como un enfoque viable

Además, no dude en echar un vistazo a mi código v5 fácil aquí:

http://www.pathtosharepoint.com/ sharepoint-usuario-toolkit / Páginas / Easy-aquí-v5.aspx

En el caso de los aquí fácil, utiliza un enfoque diferente porque necesitaba el código de trabajo, tanto en SP 2007 y SP 2010. Aquí están las pruebas que incluían:

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)

Otros consejos

He encontrado el blog de Amal Hashim: Javascript Detectar SharePoint En la página del modo de edición Existen diferentes enfoques para las páginas, wikis y páginas editoriales. Me las ha combinado en una función auxiliar:

function isEditMode() {
    var publishingEdit = window.g_disableCheckoutInEditMode,
        form = document.forms[MSOWebPartPageFormName],
        input = form.MSOLayout_InDesignMode || form._wikiPageMode;  
    return !!(publishingEdit || (input && input.value));
}

Esto devuelve true si se está editando la página y false si la página está en el modo de visualización.

A somewhat cheesy approach is to look for an element on the page that exists when the page is in edit mode. For example, when in edit mode the "Editing Tools" ribbon appears and there is a save icon off to the left. If you use the IE developer tools, you'll see the code for the save button looks like this:

So using jQuery you can check for the existence of "Save & Close" on the page...or choose a different element entirely -- one that is unique.

Keep in mind that different page types (blogs, wikis, web part pages) may or may not use different tags so this may not work across the board. So double-check the page you're working with before you include the script.

Found more info. If you want to do it through the object model, see if either of these links helps:

http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.publishing.webcontrols.editmodepanel.aspx

Some example implementations of the aforementioned class: http://mystepstones.wordpress.com/2008/09/23/detecting-the-current-mode-displayedit/

Licenciado bajo: CC-BY-SA con atribución
scroll top