• home
    • news & events
    • blog
  • über uns
    • projekte und referenzen
    • partner
    • produkte & technologien
    • offene jobs / stellen
  • dienstleistungen & services
    • software design & architektur
    • software entwicklung
    • beratung / consulting
    • training, kurse und workshops
  • sharepoint 2010 workshops
    • module
    • anmeldung
  • kontakt
Wir bieten SharePoint und .NET
Kompetenz, Erfahrung und Know-How:
"1stQuad guaranteed."
Diesen Blog abonnieren
Subscribe in NewsGator Online Add to My AOL
Add to Google Reader or Homepage Add to netvibes

Aktuelle Posts

State Machine Workflow mit InfoPath Formularen für SharePoint 2010 – Teil 7
State Machine Workflow mit InfoPath Formularen für SharePoint 2010 – Teil 6
State Machine Workflow mit InfoPath Formularen für SharePoint 2010 – Teil 5
State Machine Workflow mit InfoPath Formularen für SharePoint 2010 – Teil 4
State Machine Workflow mit InfoPath Formularen für SharePoint 2010 – Teil 3

Archiv

Juli 2010 (11)
Juni 2010 (13)
Mai 2010 (11)
April 2010 (4)
März 2010 (6)
Februar 2010 (2)
Januar 2010 (6)
Dezember 2009 (4)
November 2009 (13)
Oktober 2009 (17)
September 2009 (2)
Juli 2009 (2)
März 2009 (2)
Januar 2009 (1)

Als Microsoft Certified Partner bietet 1stQuad Solutions SharePoint und .NET Kompetenz, Erfahrung und Know-How für Entwicklung, Architektur, Beratung, Schulung, Training und Kurse in Zürich, Bern, Basel, Schweiz sowie Deutschland und Östereich.
Als Spezialist für kleine und mittlere Unternehmungen (KMU) bietet 1stQuad Solutions SharePoint und .NET Produkt- und Projekt-Kompetenz, -Erfahrung und -Know-How für Entwicklung, Architektur, Beratung, Schulung, Training und Kurse in Zürich, Bern, Basel, Schweiz sowie Deutschland und Östereich.
Mit Kentico CMS bietet 1stQuad Solutions neben SharePoint und .NET CMS-Produkt- und Projekt-Kompetenz, -Erfahrung und -Know-How für Entwicklung, Architektur, Beratung, Schulung, Training und Kurse in Zürich, Bern, Basel, Schweiz sowie Deutschland und Östereich.
© 2010 1stQuad Solutions
Alle Rechte vorbehalten
> Impressum
Wir bieten Microsoft SharePoint und .NET Projekt- und Produkt-Know-how, Kompetenz und Erfahrung für Entwicklung, Architektur, Beratung, Schulung, Training und Kurse in Zürich, Bern, Basel, Schweiz sowie Deutschland und Östereich.

Blog > September 2009

WebPart Drag'n'Drop: Darstellungsproblem im Zusammenhang mit Scrolling

Auf langen oder breiten WebPartseite wo Scrollbalken nötig sind kann es passieren, dass der Balken, welcher beim Drag'n'Drop den WebPart symbolisiert nicht neben sondern weit weg vom dem Mauszeiger dargestellt wird. Dies ist auf ein Problem in den standard Microsoft JavaScripts zurückzuführen. Dieser Blogeintrag zeigt, wie diese Probleme mit einer einfachen Korrektur behoben werden können.

Veröffentlicht am 29.09.2009 09:00:29 von Michael Hofer mit 0 Kommentar(en)

Beim Fine-Tuning einer WebPart-Seite habe ich heute einen ganz komisches Verhalten und einen möglichen Bug in der Datei IE55UP.js gefunden. Die Situation ist folgendermassen: Ich habe eine SharePoint-Seite mit vielen WebPart-Zonen und WebParts. Wenn ich nun einen WebPart via Drag’n’Drop von einer Zone in eine andere ziehen will, dann habe ich ein Problem, wenn das Browser-Fenster nicht in der Startposition ist, ich also gescrollt habe: Der Balken der während dem Scrolling den WebPart-Header anzeigt ist an der falschen Position – nämlich viel zu weit oben.

Nach etwas suchen konnte ich feststellen, dass die Verschiebung vom Scrolling abhängt: Sie ist nämlich genau der „Offset“ den das Scrolling ausmacht. Ich habe dann den entsprechenden JavaScript-Code in der Datei IE55UP.js gefunden, der für dieses Verhalten verantwortlich ist:

function MSOLayout_MoveDragObject() {
if(MSOLayout_currentDragMode !='move') return;

if(MSOLayout_moveObject.style.display=='none') MSOLayout_moveObject.style.display='';
if(MSOLayout_moveObject.style.width==''){
MSOLayout_moveObject.realWidth = MSOLayout_moveObject.offsetWidth;
MSOLayout_moveObject.realHeight = MSOLayout_moveObject.offsetHeight;
}
var newWidth=MSOLayout_moveObject.realWidth;
var newHeight=MSOLayout_moveObject.realHeight;
var newLeft=event.clientX+document.body.scrollLeft - (newWidth / 2);
var newTop = event.clientY + document.body.scrollTop + 1;
...
}

Es stellt sich heraus, dass die Eigenschaft document.body.scrollTop im IE meist einfach den Wert 0 liefert, wie auch in meinem Fall. Es gibt jedoch einen einfachen Fix und schon stimmt die Position immer:

var newTop = event.clientY + document.documentElement.scrollTop + 1;

Leider ist die Datei IE55UP.js sowohl eine SharePoint-Systemdatei wie auch in jeder Sprachversion vorhanden. Sollten Sie diese Anpassung machen würde ich Ihnen raten, eine eigene Javascript-Datei zu erstellen (z.B. IE55UP_fix.js) und die Methode komplett zu überschreiben. Laden sie die Datei dann nach den SharePoint-Javascript Bibliotheken wird die gefixte Variante der Methode ausgeführt.
Hier noch wichtige Eckdaten für diesen Post und das beobachtete Problem:
  • Microsoft Office SharePoint Server 2007 SP1
  • Internet Explorer 8
  • DocType: "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd


Kommentar
Dieser Blog-Eintrag wurde noch nicht kommentiert.
Kommentar hinterlassen



 Security code
Zurück, Seite drucken