2016-04-24 5 views
1

Ich dachte, wenn es eine Möglichkeit gibt, die volle Kontrolle über die Seite/Website zu erlangen, indem es dem Benutzer nicht erlaubt, die Seite/Website auf irgendeine mögliche Weise zu aktualisieren. Ich bin nur neugierig, ob das möglich ist. Ich weiß, dass es 1 Million Nachteile gibt, aber immer noch.Ich verbiete dem Benutzer, die Seite zu aktualisieren

Mit freundlichen Grüßen,

George S.

+0

Sie sind nicht in der Lage sein werden vollständig die Benutzer zu verbieten, zu aktualisieren/Verlassen Sie die Seite aus Sicherheitsgründen. Sie können jedoch das Ereignis "onbeforeunload" verwenden, um sie zu veranlassen, dass sie weniger Gefahr laufen, Arbeit zu verlieren. – MayorMonty

+0

@SpeedyNinja Nachdem ich eine Reihe von Artikeln gelesen habe, merke ich, dass es fast unmöglich ist, es zu tun. Ich denke, gute Arbeit von den Browser-Entwicklern. Meine Idee war, eine experimentelle Streichseite zu erstellen, natürlich nur für wissenschaftliche Forschung. –

Antwort

2

Sie eine Aktualisierung mit so etwas wie dieses abfangen kann, in welchem ​​Fall der Benutzer eine Wahl gegeben ...

window.onbeforeunload=function(){return 'Page refresh has been intercepted to avoid an accidental loss of work';}; 
+0

Ja, ich stimme zu. Diese Methode ist jedoch nicht das, was ich in meiner Idee versucht habe zu erreichen. Allerdings werde ich Ihnen die beste Antwort geben, denn in der realen Welt wird dies das Beste sein, was Sie tun können. –

+0

Sie können Ihren eigenen benutzerdefinierten Browser (wie ich) mit dem von Ihnen gewünschten benutzerdefinierten Verhalten schreiben, indem Sie Node-Webkit oder NW verwenden, wie sie es jetzt nennen. – user6245342

0

ich vor kurzem das Problem gestoßen, wo Menschen wurden die Refresh-Button paar Male auf meiner Website treffen, die schließlich wurde Probleme auf Serverebene zu verursachen. Ich habe auf der Client-Seite etwas Code eingegeben, um es zu erfassen und die Übergabe des Buttons zu umgehen. Außerdem habe ich einen Code auf Serverebene eingegeben, um einen Sitzungseintrag zu haben, der die Uhrzeit speichert und vergleicht, wann die nächste Anfrage kommt. es war innerhalb eines bestimmten Zeitrahmens würde es ignoriert werden.

if(e.which === 116) { 
     console.log('blocked'); 
     return false; 
    } 
    if(e.which === 82 && e.ctrlKey) { 
     console.log('blocked'); 
     return false; 
    } 
+0

es ist keine Antwort auf Ihre Frage, wollte es nur mit Ihnen teilen. – LearningPhase

+0

Ich plante, diese zu verwenden, um die Tasten von der Tastatur zu blockieren. Meine Idee war jedoch viel zu unmöglich, um sie zu vervollständigen. Danke, dass Sie Ihre Erfahrungen geteilt haben. Ich schätze es. –