''Back'' bzw. ''Forward'' Button des IE deaktivieren

Krotty

Grünschnabel
Servus,

habe folgendes Problem:

Habe ein vollständig lauffähiges Programm in ASP.Net mit C# erstellt, welches im Internet Explorer ausgeführt wird. Mein Programmablauf gerät aber durcheinander wenn der Benutzer die 'Back' bzw. 'Forward' Buttons des Internet Explores benutzt. Deshalb bräuchte ich eine Möglichkeit diese zwei Buttons zu sperren (evt. auch den 'Refresh' Button) oder eine Möglichkeit wie ich auf dieses click-event reagiere.

Kann mir da jemand helfen - danke

mfg

Krotty
 
Hi Krotty,

Eine Möglichkeit die Buttons des IE zu sperren sehe ich nicht...aber wenn Du prinzipiell das Vorwärts und Rückwärts unterdrücken möchtest würde ich folgendes machen:

Führe doch einen Zustand ein z.B. int mZustand;
Jeder Zustand repräsentiert eine bestimmte Seite z.B.

1 => ersterSchritt.aspx
2 => zweiterSchritt.aspx

nach Abschluss der Eingaben auf einer Seite wird der Zustand weiter geschaltet und in der Session Variable gespeichert...Session["ApplicationState"].

Jetzt solltest Du auf jeder Seite im Load der Seite den Zustand prüfen...das heisst...wenn ersterSchritt.aspx geöffnet wird...sollte
Session["ApplicationState"]==1 wenn das nicht der Fall (also Session["ApplicationState"]==2) ist, springst Du einfach zu der Seite zurück, die eigentlich an der Reihe wäre:

Session["ApplicationState"]==2 -> Response.Redirect("zweiterSchritt",true)

Hab das so verstanden, dass Du einen sequenziellen Ablauf sicherstellen möchtest, dann wäre das eine Möglichkeit!

Gruß

Alex
 
Hallo,

ich wüsste höchstens eine Möglichkeit das Standard-Kontextmenü zu verbergen und ein eigenes zu bauen. Damit wäre eine Möglichkeit genommen zu aktualisieren und zu navigieren.
Bei den anderen(Tastatur,IE-Menü) wüsste ich aber nicht, wie die auszuschalten wären.

Ein Beispiel eines eigenen Kontextmenüs:
[z.B. in eine script-datei]
//Anfang Kontext-Menue-Funktionen
function Kontextmenue_anzeigen()
{
with (document.getElementById("Kontextmenue").style)
{
// X- und Y-Koordinaten der Maus ermitteln
top = event.clientY + document.body.scrollTop;
left = event.clientX + document.body.scrollLeft;
// Kontextmenü anzeigen
visibility = "visible";
}
// IE-Kontextmenü unterdrücken
return false;
}

function Kontextmenue_verbergen()
{
// Kontextmenü ausblenden
document.getElementById("Kontextmenue").style.visibility = "hidden";
return true;
}

function Zurueck()
{
Kontextmenue_verbergen();
// eine Seite zurück gibts nicht
//history.go(-1);
return false;
}

function Vorwaerts()
{
Kontextmenue_verbergen();
// eine Seite vor ausgeschaltet
//history.go(1);
return false;
}

function Lesezeichen_setzen()
{
Kontextmenue_verbergen();
// Eintrag zu den Favoriten hinzufügen (Link, Titel)
window.external.AddFavorite(this.location.href, document.title);
return true;
}

function Quelltext_anzeigen()
{
Kontextmenue_verbergen();
// Quelltext im Standardeditor anzeigen lassen
self.location = "view-source:" + window.location.href;
return true;
}

function Drucken()
{
Kontextmenue_verbergen();
// Druckendialog für das Fenster aufrufen
window.print();
return true;
}

function Aktualisieren()
{
Kontextmenue_verbergen();
// aktuelle Seite neu laden
self.location.reload();
return true;
}
//Ende Kontextmenue-Funktionen

[in einem script-block am anfang deiner html-seite]
document.onclick=Kontextmenue_verbergen;
document.oncontextmenu = Kontextmenue_anzeigen;

[in einer css-datei, die deine html-seite einbindet]
.Kontextmenue
{
color: #000000;
background-color: #d0d0d0;
font-family: Verdana;
font-size: 11px;

border: outset 2px #d0d0d0;
position: absolute;
top: -200px;
left: -200px;
visibility: hidden;
width: 170px;
}

.inaktiv
{
color: #969090;
background-color: #d0d0d0;
cursor: default;
}

.Normal
{
color: #000000;
background-color: #d0d0d0;
cursor: default;
}

.Hover
{
color: #ffffff;
background-color: #0000ff;
cursor: default;
}

Gruß,
Tim
 
Zurück