Javascript im IE deaktivieren mit VB.Net

Wir schauen uns jetzt einmal an wie man Javascript im Internet Explorer abschalten kann. Für manche Fälle kann dies sehr interessant werden, z.B. wenn man ein Webbrowser Element nutzt, jedoch Javascript unbedingt deaktivieren muss. Dies kann der Fall sein, wenn Javascript den HTML-Code unnötig verschleiert (wie dies bei Google z.B. der Fall ist) und man hier einen Riegel davor schieben möchte. Außerdem zeige ich euch wie ihr per Code Javascript auch wieder anschalten könnt. Somit könnt ihr diese Routine im Code verankern und falls ihr das Produkt ausliefert die Nutzer-Einstellungen nach Beenden eures Programmes wieder rückgängig machen.

IE Javascript deaktivieren

Standardmäßig ist Javascript im IE aktiviert. Um zu prüfen ob er bei dir aktiv ist, gehst du am besten in die Internetoptionen. Diese findest du am einfachsten wenn du den Internet Explorer startest und dann oben rechts nach einem Schlüssel suchst. Danach auf Sicherheit und auf Stufe anpassen. Hier müssen wir weit nach unten scrollen und finden unter Scripting das Active Scripting. Das sollte bei dir jetzt aktiviert sein. Nun kannst du testweise auf deaktivieren umstellen. Falls nun der gewünschte Effekt eintritt, so wie das bei mir war, dann mache nun weiter mit diesem Tutorial und schaue dir an wie dies ganz einfach per VB.Net-Code funktioniert.

Interneteinstellungen im Regedit

Bevor wir loslegen schauen wir uns die Schlüssel an, die wir verändern möchten. Dies sind ingesamt 3 an der Zahl. Alle 3 Unterschlüssel liegen in Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones.

  • Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\3
  • Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\1
  • Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\0

Wenn du nun einen der Unterschlüssel anklickst bekommst du links diverse Schlüssel angezeigt. Uns interessiert nur der Schlüssel 1400. Wenn Javascript deaktiviert ist, so hat der Schlüssel den Wert 3. Aktiviert haben die Schlüssel den Wert 0. Achtet darauf, dass der Schlüssel ein DWORD ist und bleibt!

Methode in VB.Net definieren

Zu allererst legen wir einen Button an, welcher den Javascript aus- und anschalten Code ausführt. Danach fügt ihr dann folgenden Code in den Button ein.

Private Sub Button_Click(sender As Object, e As EventArgs) Handles Button.Click
        Dim key = Microsoft.Win32.Registry.CurrentUser.OpenSubKey("Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\3", True)
        If key Is Nothing Then : MsgBox("Subkey does not exist") : Exit Sub : End If
        Dim keyLocalFiles = Microsoft.Win32.Registry.CurrentUser.OpenSubKey("Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\1", True)
        If keyLocalFiles Is Nothing Then : MsgBox("Subkey does not exist") : Exit Sub : End If
        Dim keyMyComputer = Microsoft.Win32.Registry.CurrentUser.OpenSubKey("Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\0", True)
        If keyMyComputer Is Nothing Then : MsgBox("Subkey does not exist") : Exit Sub : End If
        Try
            If key.GetValue(1400) = 3 Then
                key.SetValue(1400, "0", Microsoft.Win32.RegistryValueKind.DWord)
                keyLocalFiles.SetValue(1400, "0", Microsoft.Win32.RegistryValueKind.DWord)
                keyMyComputer.SetValue(1400, "0", Microsoft.Win32.RegistryValueKind.DWord)
            Else
                key.SetValue(1400, "3", Microsoft.Win32.RegistryValueKind.DWord)
                keyLocalFiles.SetValue(1400, "3", Microsoft.Win32.RegistryValueKind.DWord)
                keyMyComputer.SetValue(1400, "3", Microsoft.Win32.RegistryValueKind.DWord)
            End If
        Catch ex As Exception
            MsgBox(ex)
        End Try
    End Sub

Kurz noch eine Beschreibung zum Quellcode. Zuerst legen wir Variablen an, damit wir quasi Objekte haben und auf diesen arbeiten können. Sollte ein Subkey nicht existieren, so wird die Methode abgebrochen. Man könnte jetzt natürlich die Schlüssel auch anlegen, aber ich will hier ein läuffähiges kleines Basic-Beispiel zeigen und nicht eine Eier-legende Wollmilchsau.


Danach wenn also alle Subkeys vorhanden sind, wird einfach geschaut wie der derzeitige Wert ist. Ich habe hier einfach die Variable key genommen. Natürlich müsste man theoretisch alle überprüfen, aber ist hier nicht notwendig. Anhand des Wertes wird nun entschieden ob Javascript deaktiviert bzw. aktiviert wird. Das war es auch schön.

Fazit

Eine wirklich einfache Art Javascript im IE zu deaktivieren. Wie ich anfängs erwähnt habe, gibt es dazu mehrere Anwendungs-Szenarien. Getestet wurde es bisher nur unter Windows 8. Allerdings sollte es überall funktionieren bzw. mit kleineren Anpassungen.

Kommentar schreiben

Kommentare: 0