mpfg
Goto Top

Texteingabe auf Seite verhindern

Hallo,

kennt jemand eine Möglichkeit unter Firefox (41.0.2) die Tastatureingabe auf einer festgelegten Seite (Adresse) zu verhindern?

MfG

Content-ID: 287221

Url: https://administrator.de/contentid/287221

Ausgedruckt am: 22.11.2024 um 21:11 Uhr

tomolpi
tomolpi 31.10.2015 aktualisiert um 22:34:02 Uhr
Goto Top
Bei einer Seite die du geschrieben hast bzw. Zugriff auf den Quellcode hast?
Einfach die Textbox / das Texfeld "disablen"...

LG,

tomolpi
114757
114757 01.11.2015 aktualisiert um 08:39:34 Uhr
Goto Top
Und bei Seiten die nicht unter deiner Kontrolle stehen nimmst du Usersscripts (z.B. das Greasemonkey-AddOn) um die gewünschten Felder auf ReadOnly zu setzen.

Wenn man mal fragen darf, wozu das ganze, was soll das primär für einen Zweck erfüllen ?

Das scheint mir ziemlich sicher der falsche Ansatz zu sein.

Gruß jodel32
Franz-Josef-II
Franz-Josef-II 01.11.2015 um 08:36:55 Uhr
Goto Top
Guten Morgen

So ganz verstehe ich dein Ansinnen nicht, wie es scheint face-wink

die Tastatureingabe auf einer festgelegten Seite .....

a) Du willst verhindern, daß ein User auf einer Seite die Tastatur verwendet? Also auch kein Strg Z oder so?

b) Du willst verhindern, daß ein User auf einer seite Texteingaben macht? Also youporn.com Anmeldung oder so?

c) Du willst verhindern, daß ein User auf einer INTERNEN Seite dies macht?

d) Du willst doch etwas anderes, was ich nicht herausgelesen habe face-wink
MPFG
MPFG 01.11.2015 um 18:56:30 Uhr
Goto Top
Hallo,

c trifft es wohl am besten. Hat vielleicht jemand so ein Usersscript parat ?

MfG
tomolpi
tomolpi 01.11.2015 um 19:14:51 Uhr
Goto Top
Aber aufrufen der Seite soll schon gehen?
114757
Lösung 114757 01.11.2015 aktualisiert um 19:42:07 Uhr
Goto Top
Zitat von @MPFG:
c trifft es wohl am besten. Hat vielleicht jemand so ein Usersscript parat ?
Dazu benötigen wir hier zumindest die Info welche und was für Felder du deaktivieren willst ! Oder gleich den Quellcode der Seite ...
Dann können wir dir ein Schnippsel liefern ...
MPFG
MPFG 01.11.2015 um 19:43:03 Uhr
Goto Top
Hi,

ich möchte auf der Seite (https://web.whatsapp.com/) die Eingabe verhindern.

Gruß
114757
Lösung 114757 01.11.2015 aktualisiert um 20:40:35 Uhr
Goto Top
Das hier setzt z.B. alle Input-Elemente auf Readonly
var inputs = document.getElementsByTagName("input");  
for(i=0;i<inputs.length;i++){inputs[i].setAttribute('readonly');}  

Warum die Seite nicht sperren ?? Ein findiger User weiß das alles zu umgehen !
Franz-Josef-II
Franz-Josef-II 01.11.2015 aktualisiert um 20:19:23 Uhr
Goto Top
Zitat von @MPFG:

ich möchte auf der Seite (https://web.whatsapp.com/) die Eingabe verhindern.

c trifft es wohl am besten. Hat vielleicht jemand so ein Usersscript


Zitat von @Franz-Josef-II:

c) Du willst verhindern, daß ein User auf einer INTERNEN Seite dies macht?




Ok, es handelt sich um die interne Whatsappseite? Irgendwie kapiere ich es nicht face-wink

Wenn es sich um eine interne Seite handelt, warum sind dann dort Eingabefelder, die zu sperren sind? Rein logisch muß es dann Userabhängig sein, sonst würdest Du ja diese Eingabefelder, weil zweckbefreit, entsorgen.

Gehts aber doch um eine externe Seite, dann stellt sich die Frage, ob es für alle gilt oder nicht, bzw ob die Seite nicht komplett gesperrt werden kann, zumindest grundsätzlich gesperrt und für manche offen. Was bringt die Seite ohne Texteingaben?

Ich gestehe, ich bin verwirrt.
tomolpi
tomolpi 01.11.2015 um 20:20:11 Uhr
Goto Top
Die Seite geht nicht intern face-big-smile
MPFG
MPFG 01.11.2015 um 20:41:09 Uhr
Goto Top
Hallo,

==UserScript==
@Name Eingabe sperren
@description Eingabe in Whatsapp verhindern
@namespace
@include https://*.whatsapp.*
@grant none
@version 1.0
==/UserScript==
//

var inputs = document.getElementsByTagName("input");
for(i=0;i<inputs.length;i++){inputs[i].setAttribute('readonly');}

leider funktioniert das hier nicht.
Sieht wer einen Fehler ?
114757
114757 02.11.2015 um 09:28:14 Uhr
Goto Top
Auf der Seite gibts doch garnichts einzugeben ... ??
tomolpi
tomolpi 02.11.2015 um 11:11:04 Uhr
Goto Top
Nach dem man sein Handy mit Whatsapp verbunden hat schon, aber ich denke hier wäre eine komplette Sperre der Seite geeigneter...
MPFG
MPFG 03.11.2015 um 19:27:05 Uhr
Goto Top
Hallo,

stimmt sobald das gerät mit whatsapp gekoppelt ist, kann man mit seinen Kontakten schreiben. Dies möchte ich verhindern.

MfG
tomolpi
tomolpi 03.11.2015 um 19:33:28 Uhr
Goto Top
Sperr' die Seite in der Firewall. Ist das einfachste face-wink
114757
114757 04.11.2015 aktualisiert um 09:02:10 Uhr
Goto Top
Zitat von @MPFG:

Hallo,

stimmt sobald das gerät mit whatsapp gekoppelt ist, kann man mit seinen Kontakten schreiben. Dies möchte ich verhindern.
Dann poste mal den Quellcode der Seite, ich hab jetzt kein Bock mich extra bei so nem Datenstaubsauger-Dienst anzumelden.
Dein URL-Filter passt bestimmt nicht auf die URL ...

Machs wie schon gesagt über eine vernünftige Firewall, alles andere ist Käse !!
MPFG
MPFG 05.11.2015 um 19:50:02 Uhr
Goto Top
<!DOCTYPE html>
<!--[if lt IE 7]>      <html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]--> 
<!--[if IE 7]>         <html class="no-js lt-ie9 lt-ie8"> <![endif]--> 
<!--[if IE 8]>         <html class="no-js lt-ie9"> <![endif]--> 
<!--[if gt IE 8]><!--> <html class="no-js" dir="ltr" manifest="/wa.appcache"> <!--<![endif]-->  
<head>
    <meta charset="utf-8">  
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">  
    <title>WhatsApp Web</title>
    <meta name="viewport" content="width=device-width">  
    <meta name="google" content="notranslate">  

    <meta name="description" content="Sende und empfange einfach WhatsApp Nachrichten direkt von deinem Computer.">  
    <meta name="og:description" content="Sende und empfange einfach WhatsApp Nachrichten direkt von deinem Computer."/>  
    <meta name="og:url" content="https://web.whatsapp.com/"/>  
    <meta name="og:title" content="WhatsApp Web"/>  
    <meta name="og:image" content="https://www.whatsapp.com/img/fb-post.jpg"/>  

    <link id="favicon" rel="shortcut icon" href="/img/favicon/1x/favicon.png" type="image/png" />  

    <link rel="stylesheet" href="/sprite_e77a3dcee7fe7901a54e.css">  
    <link rel="stylesheet" id="style" href="/style_f3ff38c19887dcfb7142.css">  

    <style>
          html, body {
              height: 100%;
              margin: 0;
              overflow: hidden;
              padding: 0;
          }

          #startup {
              width: 100%;
              height: 100%;
              position: fixed;
              background-color: #eeeeee;

              -moz-user-select: none;
              -webkit-user-select: none;

              display: flex;
              align-items: center;
              justify-content: center;
              display: -webkit-box;
              display: -webkit-flex;
              -webkit-align-items: center;
              -webkit-justify-content: center;
          }

          .spinner-container {
              -webkit-animation: rotate 2s linear infinite;
                      animation: rotate 2s linear infinite;
              z-index: 2;
          }

          .spinner-container .path {
              stroke-dasharray: 1,150; /* 1%, 101% circumference */
              stroke-dashoffset: 0;
              stroke: rgba(27, 154, 89, 0.7);
              stroke-linecap: round;
              -webkit-animation: dash 1.5s ease-in-out infinite;
                      animation: dash 1.5s ease-in-out infinite;
          }

          @keyframes rotate {
              100% { transform: rotate(360deg); }
          }
          @-webkit-keyframes rotate{
              100% { -webkit-transform: rotate(360deg); }
          }

          @keyframes dash {
              0% {
                  stroke-dasharray: 1,150;  /* 1%, 101% circumference */
                  stroke-dashoffset: 0;
              }
              50% {
                  stroke-dasharray: 90,150; /* 70%, 101% circumference */
                  stroke-dashoffset: -35;   /* 25% circumference */
              }
              100% {
                  stroke-dasharray: 90,150; /* 70%, 101% circumference */
                  stroke-dashoffset: -124;  /* -99% circumference */
              }
          }
          @-webkit-keyframes dash {
              0% {
                  stroke-dasharray: 1,150;  /* 1%, 101% circumference */
                  stroke-dashoffset: 0;
              }
              50% {
                  stroke-dasharray: 90,150; /* 70%, 101% circumference */
                  stroke-dashoffset: -35;   /* 25% circumference */
              }
              100% {
                  stroke-dasharray: 90,150; /* 70%, 101% circumference */
                  stroke-dashoffset: -124;  /* -99% circumference */
              }
          }
      </style>
</head>
<body>
  <div id="startup">  
    <svg class="spinner-container" width="65px" height="65px" viewBox="0 0 52 52">  
        <circle class="path" cx="26px" cy="26px" r="20px" fill="none" stroke-width="4px"></circle>  
    </svg>
    
  </div>



 <script src="/lib/modernizr-2.8.3.min.js" data-export="Modernizr" data-progress="3" defer></script>  
 <script src="/lib/moment-with-locales-2.8.4.min.js" data-export="moment" data-progress="154" defer></script>  
 <script src="/lib/bluebird-2.9.24.min.js" data-export="Promise" data-progress="73" defer></script>  
 <script src="/lib/lodash-3.10.1.min.js" data-export="_" data-progress="51" defer></script>  
 <script src="/lib/velocity-1.2.0.min.js" data-export="Velocity" data-progress="35" defer></script>  
 <script src="/lib/velocity-ui-5.0.min.js" data-export="Velocity.RegisterEffect" data-progress="16" defer></script>  
 <script src="/lib/react-with-addons-0.13.3.min.js" data-export="React" data-progress="133" defer></script>  
 <script src="/lib/webfontloader-1.6.6.min.js" data-export="WebFont" data-progress="12" defer></script>  
 <script src="/lib/hmac-sha256-3.1.2.min.js" data-export="CryptoJS.algo.HMAC" data-progress="6" defer></script>  
 <script src="/lib/aes-3.1.2.min.js" data-export="CryptoJS.AES" data-progress="14" defer></script>  
 <script src="/lib/lib-typedarrays-3.1.2.min.js" data-export="CryptoJS.lib.WordArray" data-progress="1" defer></script>  
 <script src="/lib/enc-base64-3.1.2.min.js" data-export="CryptoJS.enc" data-progress="1" defer></script>  
 <script src="/lib/end-to-end.compiled.min.js" data-export="e2e,goog" data-progress="967" defer></script>  
 <script src="/lib/canvas-to-blob-2.0.5.min.js" data-export="dataURLtoBlob" data-progress="2" defer></script>  
 <script src="/lib/qrcode.min.js" data-export="QRCode" data-progress="20" defer></script>  
 <script src="/vendor_f9b12304af9d4448b39c.js" data-progress="417" defer></script>  
 <script src="/app_ddd3947bbd245e080b76.js" data-progress="658" defer></script>  
 <script src="/main_b3b54298420eacee94e3.js" data-progress="260" defer></script>  

  <script src="/locales/de_661142a1f70190223a16.js"></script>  
</body>
</html>
114757
114757 05.11.2015 um 20:06:36 Uhr
Goto Top
Damit
lässt sich leider nichts anfangen, wahrscheinlich hast du den falschen Frame ausgelesen.
Gibt keinerlei Eingabefelder in diesem Code.
Da musst du schon den durch eventuelle JavaScripts generierten Quellcode kopieren...
MPFG
MPFG 06.11.2015 um 17:35:29 Uhr
Goto Top
Hallo,

rechte Maustaste, Quelltext anzeigen. Ist der komplette Quelltext der Seite.

Wie muss ich vorgehen, um den JavaScript generierten Quellcode herauszubekommen ?

MfG
114757
114757 06.11.2015 aktualisiert um 17:38:35 Uhr
Goto Top
rechte Maustaste, Quelltext anzeigen. Ist der komplette Quelltext der Seite.
Nicht unbedingt, wenn die Seite Frames hat, dann ist es relevant an welcher Stelle man rechts klickt!
Wie muss ich vorgehen, um den JavaScript generierten Quellcode herauszubekommen ?
z.B. mit dem Web-Developer Addon für Firefox oder mit den Browser-Tools (F12(
MPFG
MPFG 06.11.2015 um 21:17:53 Uhr
Goto Top
Hi,

ich habe jetzt mit dem Web-Developer Addon folgendes herausgefunden:

<div class="input" contenteditable="true"
data-reactid=".0.$main.5.2.1.1.0.1" dir="auto"></div>

wenn ich das true auf false stelle, ist keine eingabe möglich.

Aber wie packe ich das ganze jetzt in das greasemonkey script ?

Gruß
114757
114757 06.11.2015 um 23:55:25 Uhr
Goto Top
var inputs = document.getElementsByClassName("input");  
for(i=0;i<inputs.length;i++){inputs[i].setAttribute('contenteditable','false');}  
MPFG
MPFG 07.11.2015 um 08:02:04 Uhr
Goto Top
Hallo,

wenn ich den Wert von Hand im Firefox ändere, ist die Eingabe gesperrt.
Mit dem Script funktioniert es leider nicht.
==UserScript==
@Name Eingabe sperren
@description Eingabe in Whatsapp verhindern
@namespace
@include https://*.whatsapp.*
@grant none
@version 1.0
==/UserScript==
//

var inputs = document.getElementsByClassName("input");
for(i=0;i<inputs.length;i++){inputs[i].setAttribute('contenteditable','false');}

Hier noch ein Screenshot

http://www.picfront.org/d/9lOf

MfG
114757
114757 07.11.2015 aktualisiert um 08:35:13 Uhr
Goto Top
Dann passt dein URL-Filter
https:*.whatsapp.*
nicht!
Checke die aufgerufenen URLs exakt mit F12 in der Netzwerkanalyse.
MPFG
MPFG 07.11.2015 um 08:52:33 Uhr
Goto Top
Hallo,

ich habe hier schon ein paar verschiedene Links:

https://dyn.web.whatsapp.com/pp
https://w2.web.whatsapp.com/ws
https://web.whatsapp.com

aber das sollte doch alles mit meinem

https:*.whatsapp.*

abgedeckt sein.
114757
114757 07.11.2015 aktualisiert um 09:02:01 Uhr
Goto Top
Zitat von @MPFG:

Hallo,

ich habe hier schon ein paar verschiedene Links:

https://dyn.web.whatsapp.com/pp
https://w2.web.whatsapp.com/ws
https://web.whatsapp.com

aber das sollte doch alles mit meinem

https:*.whatsapp.*

Schreib den Filter mal so
https://*.whatsapp.*
Ansonsten kann ich dir hier ohne es selbst testen zu können nicht mehr weiterhelfen, sorry.

Befolge lieber unsere obigen Empfehlungen zur Seitensperrung.

Gruß jodel
MPFG
MPFG 07.11.2015 um 09:06:58 Uhr
Goto Top
Dankeschön für eure Hilfe,

werde noch ein bisschen rumbasteln.
Vielleicht bekomme ich es ja noch hin.

Beste Grüße
MPFG
MPFG 07.11.2015 um 17:17:18 Uhr
Goto Top
Hallo,

folgende habe ich herausgefunden.
Wenn ich den Code:
var inputs = document.getElementsByClassName("input");
for(i=0;i<inputs.length;i++){inputs[i].setAttribute('contenteditable','false');}
in der JavaScript-Umgebung von Firefox ausführe, ist die Texteingabe solange deaktiviert bis ich auf eine andere Person klicke.

Wenn er sich dem Wert beim laden einer anderen Person eh wieder holt, bringt es ja so eh nichts.
Gibt es eine Möglichkeit den kompletten Knoten zu löschen ?

Hier der ganze Knoten
<button class="icon icon-smiley btn-emoji" data-reactid=".0.$main.5.2.1.0"></button><div class="input-container" data-ignore-capture="any" data-reactid=".0.$main.5.2.1.1"><div class="input-emoji" data-reactid=".0.$main.5.2.1.1.0"><div style="" class="input-placeholder" data-reactid=".0.$main.5.2.1.1.0.0">Schreibe eine Nachricht</div><div dir="auto" class="input" data-reactid=".0.$main.5.2.1.1.0.1" contenteditable="true"></div></div></div><div class="ptt-container" data-reactid=".0.$main.5.2.1.$ptt"><span data-reactid=".0.$main.5.2.1.$ptt.0"><button class="icon btn-icon icon-ptt" data-reactid=".0.$main.5.2.1.$ptt.0.$=1$button"></button></span></div>  


Vielleicht hat noch jemand eine Idee.

Gruß
114757
114757 07.11.2015 aktualisiert um 17:37:05 Uhr
Goto Top
Wenn er sich dem Wert beim laden einer anderen Person eh wieder holt, bringt es ja so eh nichts.
Doch, dann muss man ein zusätzliches Skript an dieses Event knüpfen
Gibt es eine Möglichkeit den kompletten Knoten zu löschen ?
Wenn du damit den div mit class="InputContainer" meinst, klar geht das
var inputs = document.getElementsByClassName("InputContainer");  
for(i=0;i<inputs.length;i++){inputs[i].style.display = 'none';}  
Du solltest dir mal die JavaScript-Grundlagen reinziehen:
https://wiki.selfhtml.org/wiki/JavaScript

Nochmal: Mach es mit der Firewall !!
Denn: Ändert Fazzebook mal wieder was an der Seite geht dein Skript sehr wahrscheinlich auch nicht mehr, ist also den Aufwand nicht wert, wenn du das Skript dauernd anpassen musst !
Mach es also besser direkt wie ein "PROFI" du wirst es uns danken.