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.




Problem mit javascript in masterpage

Unbeantwortet Dieser Beitrag hat 5 Antworten

Ohne Rang
349 Beiträge
Manfred K. erstellt 30 Mai 2012 14:36
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo,

ich habe in meiner masterpage ein neues horizontales menu eingebaut:

 <div id="http_menu" class="s4-http s4-notdlg" style="visibility:visible">   
    <ul>
    <li><a href="/Homepage.aspx">A</a></li>
    <li><a href="/Homepage.aspx">B</a></li>
    <li class="selected"><a href="/Homepage.aspx" >C</a></li>
    <li><a href="/Homepage.aspx">D</a></li>
    </ul> 
   </div> 

Das <SharePoint:AspMenu  ID="TopNavigationMenuV4"..  soll auch da bleiben und zwar,

wenn ich auf http location bin, dann soll div id="http_menu" erscheinen, wenn ich auf https dann Standard-Sharepoint-Menu = ID="TopNavigationMenuV4.

Ich fange den Fall mit js ab:

 if (location.protocol=='https:') {
 var navigation = getElementById('http_menu');
 navigation.style.display = "none";
 }

Der tut's nicht und bringt mir aber Fehlermeldung: http_menu ist undefiniert.

Was mache ich da falsch?

Danke!

Alle Antworten

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 30 Mai 2012 15:12
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Befindet sich das Script auch wirklich unterhalb der Stelle, an der das Menü definiert ist?

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
349 Beiträge
Manfred K. Als Antwort am 30 Mai 2012 15:19
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Nein, steht ganz oben, bevor der <head> sich schließt.

Wohin damit?

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 30 Mai 2012 15:21
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

In jedem Fall unterhalb des Menüs, sonst wird das Script ausgeführt, bevor das Menü bekannt ist. Oder Du verwendest jQuery und dort $(document).ready(...)

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
349 Beiträge
Manfred K. Als Antwort am 30 Mai 2012 15:25
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Sorry, dass ich dich quelle...

ich habe mein

<div id="http_menu" class="s4-http s4-notdlg" style="visibility:visible"> 

<ul><li></li<</ul>

</div>

und dann direkt danach

 <script type="text/javascript">
 if (location.protocol=='https:'){
 var navigation = getElementById('http_menu');
 } 
 </script>

?????

 

 

Ohne Rang
349 Beiträge
Manfred K. Als Antwort am 30 Mai 2012 15:29
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

OK, hat's geklappt!!! Andi, vielen herzlichen Dank!!!