jQuery et SharePoint 2010 - Comment puis-je savoir si la page est en mode édition, en utilisant javascript?

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

Question

J'ai javascript dans un CEWP que je veux exécuter uniquement lorsque la page est en mode d'affichage. Je l'ai utilisé Firebug pour parcourir la page pour un certain type de variable ou quelque chose « msEditMode » Je peux compter sur.

J'ai vu des tonnes de questions et réponses sur la façon de dire si une page est en mode édition, du côté serveur, mais je ne peux pas trouver une solution pour savoir comment dire si la page est en mode édition, côté client.

point Quelqu'un peut-moi dans la bonne direction? Ai-je besoin de créer une partie Web qui émet simplement variable un tel? (Cela semble exagéré pour moi.)

Merci beaucoup!

Était-ce utile?

La solution

La solution de Rob - regardant le bouton -. Ressemble à une approche viable

En outre, ne hésitez pas à jeter un oeil à mon code facile Tabs v5:

http://www.pathtosharepoint.com/ sharepoint-utilisateur boîte à outils / Pages / Easy-onglets-v5.aspx

Dans le cas des onglets faciles, j'ai utilisé une approche différente parce que je devais le code de travail dans les deux SP 2007 et SP 2010. Voici les tests que j'inclus:

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)

Autres conseils

J'ai trouvé après le blog de Amal Hashim: Javascript Détecter SharePoint page En mode édition Il existe différentes approches pour les pages, les wikis et les pages de publication. Je les ai regroupées en une seule fonction d'aide:

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

Cette fonction renvoie true si la page est en cours de modification et false si la page est en mode d'affichage.

Une approche un peu ringard est de chercher un élément sur la page qui existe lorsque la page est en mode édition. Par exemple, en mode d'édition des « Outils d'édition » apparaît ruban et il y a une icône d'économie vers la gauche. Si vous utilisez les outils de développement d'IE, vous verrez le code pour le bouton d'enregistrement se présente comme suit:

Donc, en utilisant jQuery vous pouvez vérifier l'existence de « Enregistrer et fermer » sur la page ... ou choisissez un autre élément tout à fait -. Qui est unique

Gardez à l'esprit que les différents types de pages (blogs, wikis, pages Web partie) peuvent ou ne peuvent pas utiliser des tags cela ne peut pas fonctionner dans tous les domaines. Vérifiez donc la page que vous travaillez avec avant d'inclure le script.

Trouvé plus d'informations. Si vous voulez le faire à travers le modèle d'objet, voir si l'un de ces liens aide:

http://msdn.microsoft. com / fr-fr / bibliothèque / microsoft.sharepoint.publishing.webcontrols.editmodepanel.aspx

Voici quelques exemples de mise en oeuvre de la classe mentionnée ci-dessus: http://mystepstones.wordpress.com/2008/ 23.09 / détection de la mode à courant displayedit /

Licencié sous: CC-BY-SA avec attribution
Non affilié à sharepoint.stackexchange
scroll top