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

Sponsored by

Willkommen im Forum Archiv.
Einträge sind hier nicht mehr möglich, aber der Bestand von 12 Jahren SharePoint-Wissen ist hier recherchierbar.




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

Unbeantwortet Dieser Beitrag hat 4 Antworten

Ohne Rang
33 Beiträge
Chris-tiane erstellt 15 Juli 2019 15:48
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

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

Ohne Rang
33 Beiträge
Chris-tiane Als Antwort am 15 Juli 2019 16:39
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

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>

 

 

 

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 16 Juli 2019 08:54
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

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
Ohne Rang
33 Beiträge
Chris-tiane Als Antwort am 16 Juli 2019 10:13
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

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 :-)

 

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 16 Juli 2019 13:10
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

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