SharePointCommunity
Die deutschsprachige Community für SharePoint, Microsoft 365, Teams, Yammer und mit Azure

Table of Content - Inhaltsverzeichnis aber nicht für ein Wiki

bewertet von 0 Usern
Nicht beantwortet Dieser Beitrag hat 0 Geprüfte Antworten | 4 Antworten | 1 Follower

Top-500-Beitragsschreiber
32 Beiträge
Chris-tiane erstellt in 15 Jul 2019 15:48

Und gleich noch eine Frage.

Ich bin schon auf die Möglichkeit gestoßen, für ein Wiki ein Inhaltsverzeichnis zu erstellen und auch für die gesamte Sharepoint-Seite. Geht es auch, nur für eine bestimmte Unterseite anhand der H2 ein Inhaltsverzeichnis einzufügen?

Dankeschön für Euren Input und viele Grüße
chris-tiane

Alle Antworten

Top-500-Beitragsschreiber
32 Beiträge

Müsste das - auch wenn es keine Wikiseite ist - nicht mit diesem Code im Medien und Inhalt > Skript-Editor gehen? Ein Kollege hat es auf seiner Seite (die keine Wikiseite ist) eingebaut, bei mir wird aber nichts angezeigt außer Inhaltsverzeichnis...


<script type="text/javascript" src="//code.jquery.com/jquery-1.11.0.min.js"></script>

<script type="text/javascript">
    function hideTOC() {
        document.getElementById("theTOC").style.display = 'none';
        document.getElementById("show").style.display = 'block';
        document.getElementById("hide").style.display = 'none';
    }

    function showTOC() {
         document.getElementById("theTOC").style.display = 'block';
         document.getElementById("show").style.display = 'none';
         document.getElementById("hide").style.display = 'block';

    }
</script>

<div id="wikiTOC">
    <table style="padding: 5px;">
        <tr>
            <td><div class="TOCheader">Inhaltsverzeichnis</div></td>
            <td>
                <div class="closehide" id='hide'>[<a href='#' title='Click to hide' onClick="hideTOC()">Verbergen</a>]</div>
                <div class="closehide" id='show'>[<a href='#' title='Click to show' onClick="showTOC()">Anzeigen</a>]</div>
            </td>
        </tr>
    </table>

    <div id='theTOC'>

        <script type="text/javascript">

            $(document).ready(function(){
                var L1=0, L2=0, L3=0, L4=0;
                $(".ms-rtestate-field > h1, .ms-wikicontent h1, .ms-rtestate-field > h2, .ms-wikicontent h2, .ms-rtestate-field > h3, .ms-wikicontent h3, .ms-rtestate-field > h4, .ms-wikicontent h4").each(function(i){
                    theLevel=$(this).get(0).tagName;
                    if (theLevel=="H1") {
                       L1=L1+1;
                       L2=0;
                       L3=0;
                       L4=0;
                       theLevelString=""+L1;
                    }
                    else if (theLevel=="H2") {
                        L2=L2+1;
                        L3=0;
                        L4=0;
                        theLevelString=""+L1+"."+L2;
                    }
                    else if (theLevel=="H3") {
                        L3=L3+1;
                        L4=0;
                        theLevelString=""+L1+"."+L2+"."+L3;
                    }
                    else {
                        L4=L4+1;
                        theLevelString=""+L1+"."+L2+"."+L3+"."+L4;
                    }

                    $encAnchor = $(this).text().trim();
                    $encAnchor = $encAnchor.replace(/\s/g, "_");
                    $encAnchor = encodeURIComponent($encAnchor);
                    $encAnchor = $encAnchor.replace(/%/g, "");


                    $(this).attr("id", $encAnchor );
                    $("#theTOC").append("<a href='#" + $encAnchor + "' class='wikiTOC-" + theLevel + "'>" + theLevelString + " " + $(this).text() + "</a><br />");
                });
            });

            showTOC();
        </script>
    </div>
</div>


<style type="text/css">
    #wikiTOC {border: 1px black solid; border-radius: 15px; background-color: whitesmoke; float: left; padding: 10px; padding-top: 0px;}
    #wikiTOC .TOCheader {font-size: 14px; font-weight: bold; text-align: center; padding: 5px;}
    #wikiTOC .closehide {font-size: 11px; font-weight: normal;}
    #wikiTOC a.wikiTOC-H1 {font-size:14px; font-weight: normal; }
    #wikiTOC a.wikiTOC-H2 {font-size:14px; font-weight: normal; margin-left:10px; }
    #wikiTOC a.wikiTOC-H3  {font-size:14px; font-weight: normal; margin-left: 20px; margin-bottom:3px;}
    #wikiTOC a.wikiTOC-H4  {font-size:14px; font-weight: normal; margin-left: 28px; margin-bottom:3px;}
</style>

 

 

 

Top-10-Beitragsschreiber
19.032 Beiträge

Das Script listet die Inhalte bestimmter h1, h2, h3 und h4 Tags auf. Aber aber nur die, die es innerhalb der aktuellen Seite findet. Für mich müßte ein Inhaltsverzeichnis aber den Inhalt einer ganzen (Wiki-)Bibliothek listen und da wird es dann schon deutlich komplizierter.

Wenn Du auf derselben Seite nichts siehst, auf der Dein Kollege etwas sieht, dann liegt es wohl daran, daß entweder die Inhalte der Seite oder das Script nicht eingecheckt oder veröffentlich ist. In dem Fall sieht es nur der Autor selbst, also Dein Kollege.

Viele Grüße
Andi
af @ evocom de
Blog
Top-500-Beitragsschreiber
32 Beiträge

Nee, das Komische ist ja, dass ich auf seiner Seite das Inhaltsverzeichnis mitsamt Inhalt sehe, und wenn ich den Code in einen Skript-Editor auf meiner Seite kopiere, dann sehe ich nur quasi die Überschrift "Inhaltsverzeichnis". Und es ist genau das, was ich will, die H2 und H3 der aktuellen Seite aufgelistet zu bekommen. Der einzige Unterschied zwischen den Seiten (soweit ich das beurteilen kann) ist der, dass seine Seite eine Teamsite ist und meine in einer anderen Umgebung aufgehängt (Intranet). ...

Übrigens, danke für Deine Antwort :-)

 

Top-10-Beitragsschreiber
19.032 Beiträge

Also ich kann in dem Script nichts erkennen, was in irgendeiner Form seiten-spezifisch sein könnte. Ich schätze, Du wirst den Debugger bemühen müssen, um herauszufinden, warum es nicht geht (oder jemanden fragen, der das für Dich macht).

Viele Grüße
Andi
af @ evocom de
Blog
Seite 1 von 1 (5 Elemente) | RSS