'ProjectTaskButtonAppname' ist bei der Registerkarte "Aufliste" in der Bande nicht definiert

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

  •  16-10-2019
  •  | 
  •  

Frage

Ich erhalte den folgenden JavaScript -Fehler beim Klicken auf die Registerkarte "Listen" im SP2010 -Band für eine Projekt -Aufgabenliste, die ich auf der Seite "Standard.aspx" in ein Webpart gesteckt habe:

Webseitenfehlerdetails

Benutzeragent: Mozilla/4.0 (kompatibel; 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) Zeitstempel: Di, 5. Juli 2011 20:32:33 UTC

Nachricht: 'ProjectTaskButtonAppname' ist undefined Zeile: 1302 Char: 9 Code: 0 URI: http://sptest/_layouts/sp.ribbon.debug.js?rev=lc6eCMZP6gL5LnuSYh0S6Q%3D%3D

Ich habe ziemlich ausführlich gesucht und keine anderen Beschwerden gefunden.

Hat jemand eine Idee, was ich überprüfen kann? Ich habe kein MS -Projekt auf meiner Maschine, aber das würde das JS sicher nicht brechen.

War es hilfreich?

Lösung 4

Ich löste das Problem, indem ich dem JS, der brach, einen Versuch hinzufügte. Ich habe die folgende Änderung zu sp.ribbon.debug.js: Zeile 1302-

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

Jetzt sind die Bandknöpfe zumindest nutzbar. Ich denke, ich muss die gleiche Änderung in sp.ribbon.js vornehmen.

Vielleicht liegt das daran, dass ich das MS -Projekt nicht auf meiner Box installiert habe.

Wie auch immer, ich hoffe, das hilft auch einer anderen armen Seele.

Andere Tipps

Die Bandsymbole sind grau, aber immer noch aktiv/nutzbar. Wenn Sie anderswo klicken, werden sie dazu neigen, mit Farbe zum Leben zu erwecken. Scheint ein SP -Fehler-/Skriptfehler zu sein, der eine Problemumgehung hat.

Ich hatte das gleiche Problem mit meiner Projektaufgabenliste. Um dieses Problem zu beseitigen, habe ich verschiedene Web -Teil -Einstellungen für die Projektaufgabenliste getestet. Die Option, die für mich funktioniert hat, war die Einstellung der Symbolleistenentyp auf: Vollständige Symbolleiste.

Ich habe versucht, "neuen Link" in der Liste/Bibliotheksansicht zu verbergen, indem ich die Symbolleiste -Eigenschaft von Listenansicht WebPart in "Keine Symbolleiste" festlegen kann, und ich habe diesen Fehler erhalten. Dann fand ich unten verschiedene Ansätze.

Bevor zuvor die Werkzeugleiste -Eigenschaft von WebPart zurückbleiben, können Sie die erforderliche Eigenschaft von WebPart zurück in die "Zusammenfassung der Symbolleiste" ändern.

Ansatz 1 (einfach)

In der gemeinsamen JS -Datei, die Sie auf der Website verwendet haben (oder eine neue JS -Datei erstellen, laden Sie sie in die Assets -Bibliothek hoch und geben Sie Referenz auf Ihrer Masterseite von Site an), fügen Sie den folgenden Code hinzu. Dadurch wird einfach eine leere DIV erstellt und der Seite hinzugefügt. Es klappt!

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

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

Ansatz 2

  1. Erstellen Sie eine HTML -Datei mit dem folgenden Code und laden Sie sie in der SiteStsets -Bibliothek hoch.
  2. Bearbeiten Sie die Seite "Allitems.aspx" der Liste (oder der erforderlichen Seite, auf der die Liste hinzugefügt wird) und fügen Sie ein Content Editor WebPart (CEWP) hinzu.
  3. Bearbeiten Sie das Content -Editor -WebPart und in "Inhaltslink" (im Bereich WebPart Properties) geben Sie die oben genannte HTML -Datei -URL an. OK klicken'.
  4. Klicken Sie in der Registerkarte "Seite" auf der Registerkarte "Top". Klicken Sie auf "Bearbeiten". Überprüfen Sie nun die Seite. Der JS -Fehler sollte verschwunden sein.

        //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)
        }
    

Ich habe bemerkt, dass dieses Problem auftritt, wenn Sie die Symbolleiste vom Typ "Standard" in "None" im XSLTListViewWebPart ändern

Fügen Sie einen Content -Editor -WebPart hinzu und fügen Sie den Code dort wie im ersten Ansatz - hinzu - fügen Sie dort hinzu.

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

    var projectTaskButtonAppName = (typeof projectTaskButtonAppName === 'undefined') ? elemDivTaskButton : projectTaskButtonAppName; 
</script>
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit sharepoint.stackexchange
scroll top