'ProjectTaskButtonAppname' no está definido al hacer clic en la pestaña Lista en cinta

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

  •  16-10-2019
  •  | 
  •  

Pregunta

Recibo el siguiente error de JavaScript al hacer clic en la pestaña Lista en la cinta SP2010 para una lista de tareas del proyecto que he colocado en una parte web en la página predeterminada.aspx:

Detalles del error de la página web

Agente de usuario: Mozilla/4.0 (Compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .Net4.0c; .net4.0e; infopath.3) marca de tiempo: martes, 5 de julio de 2011 20:32:33 UTC

Mensaje: 'ProjectTaskButtonAppname' está indefinido Línea: 1302 Char: 9 Código: 0 URI: http://sptest/_layouts/sp.ribbon.debug.js?rev=lc6eCMZP6gL5LnuSYh0S6Q%3D%3D

He buscado bastante extensamente y no he encontrado ninguna otra queja.

¿Alguien tiene alguna idea de lo que puedo verificar? No tengo un proyecto MS en mi máquina, pero seguramente eso no rompería el JS.

¿Fue útil?

Solución 4

Resolví el problema agregando una captura de intento a la JS que estaba rompiendo. Hice el siguiente cambio a sp.ribbon.debug.js: línea 1302-

    try{    
    return !eval($v_0.HiddenScript);
    }
    catch(e){
    return true;
    }

Ahora los botones de la cinta son al menos utilizables. Creo que tendré que hacer este mismo cambio en sp.ribbon.js.

Quizás esto se deba a que no tengo el proyecto MS instalado en mi caja.

De todos modos, espero que esto también ayude a otro alma pobre.

Otros consejos

Los íconos de la cinta están atenuados pero aún activos/utilizables. Si hace clic en otro lugar, tienden a volver a la vida con el color. Parece ser un error SP Bug/Scripting que tiene una solución.

Tuve el mismo problema con mi lista de tareas del proyecto. Para deshacerse de este problema, probé diferentes configuraciones de piezas web para la lista de tareas del proyecto. La opción que funcionó para mí era configurar la barra de herramientas en: barra de herramientas completa.

Traté de ocultar el 'nuevo enlace' en la lista/Vista de la biblioteca al establecer la propiedad de la barra de herramientas de vista de la lista de WebPart en "sin barra de herramientas" y obtuve este error. Luego encontré diferentes enfoques enumerados a continuación.

Antes de eso, cambie la propiedad de la barra de herramientas de WebPart requerida a "Barra de herramientas de resumen".

Enfoque 1 (simple)

En el archivo JS Common, que utilizó en el sitio (o crea un archivo JS nuevo, cárguelo en la biblioteca de activos y dé referencia en la página maestra de su sitio) Agregue el siguiente código. Esto simplemente creará un DIV vacío y lo agregará a la página. ¡Funciona!

<script type="text/javascript" language="javascript">
    var elemDivTaskButton = document.createElement('div');
    document.body.appendChild(elemDivTaskButton);

    var projectTaskButtonAppName = (typeof projectTaskButtonAppName === 'undefined') ? elemDivTaskButton : projectTaskButtonAppName; 
</script>

Enfoque 2

  1. Cree un archivo HTML con el siguiente código y cárguelo en la biblioteca SiteASSETS.
  2. Edite la página 'Allitems.aspx' de la lista (o la página requerida donde se agregó la vista de la lista) y agregue un editor de contenido WebPart (CEWP).
  3. Edite el editor de contenido WebPart y en la propiedad "Enlace de contenido" (en el panel de propiedades WebPart) especifique la URL del archivo HTML anterior. Haga clic en Aceptar'.
  4. En la pestaña 'Página' en la cinta superior, haga clic en "Dejar de editar". Ahora revise la página. El error JS debería desaparecer.

        //Invoke HideNewItemLinkAndActviateWP Method after PageLoad.
        _spBodyOnLoadFunctionNames.push("HideNewItemLinkAndActviateWP");
    
        function HideNewItemLink()
        {
            try
            {
                HideNewItemLink('Hero-WPQ2');
                SetWebPartActive('MSOZoneCell_WebPartWPQ2');
            }
            catch(err)
            {
                //Handle errors here
            }
        }
    
        function HideNewItemLink(tblId)
        {
            try
            {
                var tblNewItemLink = null;
                tblNewItemLink = document.getElementById(tblId);
                if(tblNewItemLink != null)
                {
                    tblNewItemLink.style.display='none';
                }
            }
            catch(err)
            {
                //Handle errors here
            }
        }
    
        function SetWebPartActive(wpId)
        {
            setTimeout(function() {
                var webPart = document.getElementById(wpId);
                if(webPart != null) {
                    var dummyEvent = new Array();
                    dummyEvent["target"] = webPart; 
                    dummyEvent["srcElement"] = webPart; 
                    WpClick(dummyEvent);
                    }
            }, 200)
        }
    

He notado que este problema ocurre cuando cambia la barra de herramientas. Type de "estándar" a "ninguno" en XSLTListViewWebPart

Intente agregar un editor de contenido WebPart y agregue el código allí como se da en el primer enfoque -

<script type="text/javascript" language="javascript">
    var elemDivTaskButton = document.createElement('div');
    document.body.appendChild(elemDivTaskButton);

    var projectTaskButtonAppName = (typeof projectTaskButtonAppName === 'undefined') ? elemDivTaskButton : projectTaskButtonAppName; 
</script>
Licenciado bajo: CC-BY-SA con atribución
scroll top