Tipps und Tricks

Geschützter Bindestrich

Geschütztes Leerzeichen
Mit Sicherheit kennt jeder Webdesigner in HTML den Non-Breaking Space Code, das geschützte Leerzeichen, welches zwei Wörter mit einem Leerzeichen zusammenhält. Wenn beide Wörter unbedingt zusammen angezeigt werden sollen, selbst wenn sie am Ende einer Zeile nicht mehr Platz haben, wird der Zeilenumbruch erst nach dem zweiten Wort ausgeführt. Mit einem normalen Leerzeichen würde nach dem ersten Wort ein Zeilenumbruch ausgeführt, damit die beiden zusammengehörenden Worte trennen.

Anstelle mit der Leertaste ein Leerzeichen auszulösen fügt man «gesch leerzeichen» ein.

Geschützter Bindestrich
Interessant und weniger bekannt ist, dass auch ein Bindestrich geschützt werden kann. Mit diesem Non-Breaking Hyphen Code kann ein automatischer Zeilenumbruch nach einem Trennstrich unterbunden werden.

Der betroffene Bindestrich, also das Minuszeichen wird in HTML durch die Zeichenfolge «‑» ersetzt.

Hinweis!
Der Einsatz ist abhängig von den Schriftarten, die beim Leser installiert sind oder vereinzelt in HTML-Dokumenten auf Webservern Verwendung finden. In diesem Fall ist von der Verwendung abzuraten, denn statt des Striches wird ein Ersatzzeichen wie etwa ? angezeigt, da das Zeichen in diesen Schriftarten nicht enthalten ist. Beim Erstellen von PDF-Dokumente sollte darauf geachtet werden, eine kompatible Schriftart zu verwenden oder eine Standardschriftart in die Datei einbinden.

Windows 10 mit DISM reparieren

Sollte Windows 10 nach einer Systemdatei-Überprüfung oder Reparatur mit SFC immer noch Probleme haben, kann vielleicht das Befehlszeilenprogramm DISM helfen. DISM, Kurzform von Deployment Image Servicing and Management, ist eine Abbildverwaltung für die Bereitstellung, wie SFC, ebenfalls ein Befehlszeilentool von Microsoft. Es ist wie SFC bereits im Betriebssystem integriert.

Was kann das DISM-Tool?
Neben der Einbindung und Wartung von Windows-Images vor der Bereitstellung, können mit DISM-Befehlen, Fehler aufgespürt und repariert werden. DISM wird in der Konsole, der Windows-Eingabeaufforderung (cmd.exe) oder  über Windows-PowerShell ausgeführt. Da neben den üblichen CMD-Befehlen auch komplexere Befehle objektorientiert ausgeführt werden können, habe ich mich für Windows-PowerShell entschieden.

Vorgehensweise der Fehler-Überprüfung

  • Mit der Windows-Taste das Startmenü zu öffnen
  • Im Suchfeld powershell eingeben
  • Links als Administrator starten auswählen
Die markierten Befehle eingeben oder mit STRG-C kopieren und STRG-V einfügen:
  • Dism /Online /Cleanup-Image /ScanHealth
    Der Komponentenspeicher von Windows 10 wird auf Beschädigungen überprüft.
  • Dism /Online /Cleanup-Image /CheckHealth
    Erkannte Beschädigungen werden angezeigt und ob sie repariert werden können.
  • Dism /Online /Cleanup-Image /RestoreHealth
    Dieser DISM-Befehl versucht, erkannte Fehler zu reparieren.
Ausführliche Infos von Microsoft über DISM
Der Befehlsumfang des DISM-Befehlszeilentools ist so gigantisch, dass es sich unbedingt empfiehlt, ausführliche Informationen vom Hersteller zuzugreifen. Microsoft bietet auf seinem Online-Portal eine komplette Funktionsübersicht über DISM:

[ Übersicht über DISM ]
[ Befehlszeilenoptionen für die DISM-Imageverwaltung ]

Firefox-Updates deaktivieren

Standardmäßig ist in Mozilla Firefox die Funktion "Automatische Updates" aktiviert. Möchte man lieber selbst entscheiden, ob und wann Updates installiert werden sollen, kann man diese Funktion jederzeit deaktivieren.

Klicken Sie dazu oben rechts auf das Menü-Symbol, um die "Einstellungen" aufzurufen. Alternativ können Sie auch die Taste [Alt] drücken, dann über das Menü "Extras" zu den Einstellungen wechseln.

ff 56 updatesIm Einstellungsfenster von Firefox 56.0 (und höher?) befindet man sich nach dem Öffnen in der Rubrik "Allgemein". Navigieren Sie nach unten zu "Firefox-Updates". Unter "Firefox erlauben" aktivieren Sie das Kontrollkästchen "Nicht nach Updates suchen".

Firefox hat die Angewohnheit, trotz deaktivierter Update-Suche, regelmäßig die Meldung auszugeben, dass der Browser veraltet ist. Die Meldung knn weggeklickt werden, doch erscheint immer wieder.

Um diesen freundlichen aber lästigen Hinweis dauerhaft zu unterdrücken, muss man etwas ins "Eingemachte" vordringen, um einige Funktionen auszuschalten. Hier die Vorgangsweise:

In der Adresszeile von Firefox "about:config" eingeben, danach auf den Button "Ich werde vorsichtig sein, versprochen!" klicken.

Nachfolgende Einstellungen auf "false" abändern. Dazu werden die jeweiligen Einträge im Suchfeld gesucht und per Doppelklick auf den Wert "false" umgestellt. Falls ein Eintrag nicht vorhanden sein sollte, kann er als BOOLEAN hinzugefügt werden.

app.update.auto = false
browser.search.update = false
app.update.enabled = false
extensions.update.enabled = false
extensions.update.notifyUser = false

Abschließend den Tab "about:config" schließen und Firefox neu starten.

Zurück

Hardware sicher entfernen in Windows 10

Einige Stunden suchte ich in Internet-Suchmaschinen nach einer Lösung, die verschwundene Meldung "Hardware jetzt entfernen" wieder anzeigen lassen. Viele User würden vermutlich sagen: Nicht schlimm, einfach den USB-Stick, Speicherkarte ect. Herausziehen und fertig.

Schutz vor Datenverlust
Die Sicherheitsmeldung, finde ich, ist wichtig, denn sie schützt vor Datenverlust. Bei meinem Toshiba-Notebook wurde z. B. keine LED verbaut, die mir jegliche Zugriffe auf Geräte signalisiert. Außerdem hat Microsoft diesen Dialog bewusst in allen Windows-Versionen integriert.

Windows System-Sounds
Nicht nur die Meldung zum sicheren Entfernen der Hardware war verschwunden, auch einige Signaltöne wurden nicht mehr ausgegeben. Zum Beispiel ist es eine große Hilfe, den Abschluss eines Vorgangs akustisch ankündigen zu lassen, da man während der Laufzeit etwas anderes erledigen kann. Im FTP-Programm "FileZilla", das zum Hoch- und Herunterladen von Internetdaten dient, ist ein derartiger Signalton für mich unabdingbar.

Registry-Eingriff wirkungslos
In einem Forum erhielt ich einen Lösungsvorschlag, der einen Registry-Eingriff erforderte. Demnach sollte ein Schlüssel Abhilfe schaffen:

HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Notifications\Settings\Microsoft.Explorer.Notification.{B2E2D052-B051-D751-3E74-F8D4290BD1BC}

Danach im rechten Fenster mit einem Rechtsklick einen DWORTWert (32-Bit) mit dem Namen Namen Enabled anlegen und 1 als Binärwert eintragen.Die Werte des Schlüssels sollen folgende Ergebnisse bringen:

1 = Führt zur Anzeige, dass die Hardware entfernt werden kann.
2 = Es erscheint keine Nachricht zum Entfernen der Hardware.

Auf meinem System war der Schlüssel nicht vorhanden und ich musste ihn neu anlegen, jedoch nach einem Neustart des Rechners, erschien die Meldung immer noch nicht. Auch fehlten weiterhin einige Signaltöne. Diesen Tipp zitiere ich nur, weil er vielleicht anderen Nutzern den erhofften Erfolg bringt.

Die Lösung
In den neuen Versionen ab Windows 10 1803, gibt es eine Einstellung, mit der man auswählen kann, ob die Anzeige "Hardware kann jetzt entfernt werden" angezeigt werden soll oder nicht.

Im Fenster "Benachrichtigungsassistent" habe ich unbewusst eine Änderung vorgenommen, um evtl. Schlagzeilen von Nachrichten auszublenden und die Option "Nur Alarme" gewählt. Das war der entscheidende Fehler, denn ich konnte nicht wissen, dass die besagte Meldung von Windows 10 ebenfalls als Alarm betrachtet wird. Drei Optionen stehen hier zur Verfügung, die ich alle durchprobiert habe. Die Option "Aus" erwirkte, dass die Meldung wieder erschien und alle Signaltöne wieder erschallten:

benachrichtigungen1benachrichtigungen2benachrichtigungsassistent

Man lernt nie aus!

Eigenartige Update-Meldung in Windows 10

update meldung Einige Einstellungen werden von Ihrer Organisation verwaltet
Nach einem Update erschien plötzlich die Meldung, dass die Einstellungen angeblich von einer eigenen Organisation verwaltet werden. Ich frage mich, welche Organisation das wohl sein soll, da ich als einziger privater Nutzer und der Administrator bin.

Nur ein optischer Fehler?
Zwar handelt es sich um keinen schwerwiegenden Fehler, doch die Neugier trieb mich dazu, die Umstände zu ergründen, die für diese Meldung verantwortlich sind.

In Internetforen wird als häufigste Ursache eine bestimmte Feedback-Einstellung genannt und als Lösung folgende Methode vorgeschlagen:

  • Die Tastenkombination Windows + i drücken, um die Windows-Einstellungen zu öffnen.
  • Auf die Schaltfläche Datenschutz klicken.
  • Links den Reiter Diagnose und Feedback auswählen.
  • Auf der rechten Fensterseite unter Diagnosedaten im Dropdown-Menü die Option Vollständig auswählen.
Angeblich soll der Grund für das Erscheinen des roten Schriftzugs die Option "Einfach" sein. Standardmäßig war bereits die Organisationsmeldung "Vollständig" vorgegeben. Egal, welche Option man aber wählt, die Meldung wird weiterhin hartnäckig ausgegeben.

Konflikt mit anderen Anwendungen?
Als weitere Ursache wird eine optionale Datenschutz-Anwendung genannt, die diese Meldung auslösen könnte. In meinem Windows 10-Betriebssystem ist keine weitere Viren- oder Datenschutz-Anwendung installiert, da ich nur das Windows Security Center verwende.

Fehlerhafte Gruppenrichtlinien?
In den Gruppenrichtlinien konnte ich auch keinen entsprechenden Eintrag finden, der, wie oft vorgeschlagen, die Windows 10 Pro Updates und Upgrades zurückstellen und aufschieben würde. Hier habe noch nie etwas verändert, also blieb mir nichts anderes übrig, als weiterzusuchen.

update problembehandlungLösung mit eigenen Bordmitteln
Die Lösung war einfach, denn der Link "Konfigurierte Updaterichtlinien anzeigen" unter dem roten Schriftzug, brachte mich auf die richtige Spur.

In meinem Fall lag es an den Einstellungen der Nutzungszeiten, die aber korrekt angegeben wurden.

Vermutlich hat sich bei einem Update die Installation etwas verhaspelt. Da ich hier nichts ändern konnte, ließ ich die Problembehandlung laufen und siehe da, die Meldung verschwand.
Die Problembehandlung, auf der rechten Seite in den Einstellungen von Windows Update, konnte mir schon öfters weiterhelfen, um Konflikte mit Updates zu lösen.

Responsive Tabellen

Trotz strenger Einhaltung der "@media-Regeln" für responsives Webdesign, werden Tabellen häufig in mobilen Geräten, z. B. Smartphones, nicht korrekt dargestellt. Dieses Problem entsteht meist, wenn sich zu lange Wörter im Text der Tabellenzellen befinden, so dass der Text nicht umgebrochen werden kann, weil Leerstellen fehlen. In diesem Fall werden Tabellen radikal rechts abgeschnitten.

Die einzige Lösung dafür ist, den Tabellen Rollbalken zu verpassen, um sie auf kleinen Bildschirmen horizontal scrollen zu können. Mit ein wenig CSS und einer kurzen Anweisung im HTML-Code können horizontal scrollbare Tabellen erzeugt werden.

Die folgende geniale Lösung dazu stammt von kulturbanause.de:

CSS Code

table { /* Styling der Tabelle */ }

.table-scrollable {
  width: 100%;
  overflow-y: auto;
  margin: 0 0 1em;
}

.table-scrollable::-webkit-scrollbar {
  -webkit-appearance: none;
  width: 14px;
  height: 14px;
}

.table-scrollable::-webkit-scrollbar-thumb {
  border-radius: 8px;
  border: 3px solid #fff;
  background-color: rgba(0, 0, 0, .3);
}

HTML Code

<div class="table-scrollable">
  <table>
    .....
  </table>
</div>

Javascript-Demos 1

LETZTE AKTUALISIERUNG

VERLINKBARE LAUFSCHRIFT

VERLINKBARER TEXTTICKER

ZUFALLSSPUCH

GEDICHT DES MONATS

Spamschutz durch Captcha

captchaJoomla ReCAPTCHA Plugin
In neueren Joomla-Versionen wird ein Captcha-Plugin bereitgestellt, das den Google reCAPTCHA-Service verwendet. Google bietet diesen kostenlosen Service auf der Website google.com/recaptcha an. Dort sind ein Websiteschlüssel und ein geheimer Schlüssel für die eigene Website erhältlich.

Allerdings ist ein Google-Konto erforderlich, um diese Funktion nutzen zu können. Das Video zeigt die Vorgehensweise.

Was ist ein Captcha?
Das Captcha ist ein Authentifizierungsverfahren (Challenge-Response-Test), um im Internet einigermaßen sicher zu kommunizieren. Angriffe auf die Webseite werden damit wesentlich eingeschränkt.

Möchte zum Beispiel der Benutzer ein ausgefülltes Formular absenden, muss er vorher eine Aufgabe (Challenge) lösen und das Ergebnis (Response) in das Captcha-Feld eintragen. Die gestellten Aufgaben sollten für Menschen einfach zu lösen sein, für Computer hingegen sehr schwierig. Meist dient dazu ein Text, der als Grafik verzerrt wurde. Computer könnten das zwar auch, doch benötigten sie Mustererkennungs-Algorithmen, um derartige Bilder zu verarbeiten. Eine derartige Software wäre sehr aufwendig zu programmieren und eine hohe Anforderung an die Hardware stellen.

Verschiedene Captcha-Methoden
Neben grafische Captchas werden vereinzelt auch Audio-Captchas oder Video-Captchas eingesetzt. Zunehmend findet man Tiere, Straßenschilder oder andere Motive auf Fotos, die der Benutzer richtig erkennen muss. Immer beliebter werden Rechenaufgaben, bei denen auf Grafik verzichtet wird.

Captcha-Benutzerfreundlichkeit
Da Captcha Bildchen, wie sie zum Beispiel Google zu Verfügung stellt, nicht besonders anwenderfreundlich sind, kann stattdessen eine Rechenaufgabe den Nutzer als Menschen identifizieren. Diese Methode verwende ich auf meinem Kontaktformular, denn neben einer einfachen Bedienung, bietet sie noch weitere Vorteile.

Blockierte Grafik im Browser
Bei manchen Captchas gibt es ja das Problem, dass die Grafiken nicht angezeigt werden, da der Nutzer die Grafikanzeige im Browser ausgeschaltet hat. Deswegen muss man aber nicht auf ein Captcha verzichten. Besonders hier bietet sich die Möglichkeit einer Rechenaufgabe an.

Ein wenig Mathematik
Die Rechenaufgabe als Spamschutz darf nicht zu schwer sein. Es sollte auch ein Schalter vorhanden sein, um unter mehreren Aufgaben wählen zu können. Hat sich der Nutzer für eine Aufgabe entschieden, muss er das richtige Ergebnis ins Captchafeld eintragen. Mit dieser Methode werden keine Grafiken verwendet und sie ist somit auch für Textbrowser geeignet.

Nur bedingte Sicherheit
Allgemein gilt, eine absoluten Schutz von Spam gibt es nicht und wird es wohl nie geben. Hat eine Methode einmal eine gewisse Verbreitung erreicht, darf sie bald als potenziell unsicher angesehen werden. Das Interesse wächst, dessen Lösung zu automatisieren. Alle Captchas bieten daher leider nur eine beschränkte Sicherheit.

YouTube-Video in Joomla! einbinden

In zahlreichen Foren wird über YouTube-Videos in Joomla! diskutiert. Viele Wege führen nach Rom heißt es so schön in einem weisen Sprichwort, das auch für dieses Vorhaben gilt. Allerdings stehen Joomlaner vor der Hürde, dass Editoren iframe-Codes feindlich gesinnt sind. Selbst wenn in der JCE-Editor-Konfiguration die Codebereinigung (HTML überprüfen) deaktiviert ist, im TinyMCE der Textfilter ausgeschaltet wurde und "iframe" aus den verbotene Elementen entfernt wurde, kann es durchaus passieren, dass der iframe-Code trotzdem aus dem Beitrag verschwindet, wofür es aber einige Lösungswege gibt.

Lösung 1 Um zum Einfügen von iframe-Codes den eigensinnigen Editoren nicht in die Quere zu kommen, müsste für diesen Zweck nur mit dem Quellcode oder ohne Editor gearbeitet werden, was aber unkomfortabel und etwas umständlich ist. Der Beitrag darf danach nicht mehr mit dem Editor bearbeitet werden.

Lösung 2 Eine weitere Möglichkeit wäre, den iframe-Code in eine externe HTML-Datei auszulagern. Danach könnte ein benutzerdefiniertes Modul mit einer eigenen oder leeren Modulposition erzeugt werden. Mit dem Plugin "Inhalt - Module laden" (plugins/content/loadmodule), einem Standard-Bordmittel von Joomla!, lässt sich das Video dann in einem beliebigen Beitrag, an beliebiger Stelle einbinden. Beispiel: pdf button Miezekatzen.pdf

Lösung 3Meiner Ansicht nach, dürfte die beste Lösung sein, die JCE MediaBox dafür zu verwenden. Die Vorgehensweise ist nicht nur äußerst einfach, sondern beschert auch noch eine gute Optik. Zuerst öffnet man auf YouTube das gewünschte Video. Aus der Adressleiste des Browsers wird nun der URL kopiert, in diesem Beispiel "https://www.youtube.com/embed/WRQJUS3y00Y" und fügt ihn mit dem JCE als Text- oder Bildlink im Beitrag ein.

thumb smartphone miezenKleiner Webdesigner-Tipp!
Holen Sie sich auch den Einbettungscode und klauen (kopieren) Sie das Vorschaubild von YouTube. Der iframe-Code enthält nämlich die genaue Größenangabe des Videos (width="854" height="480").

Das Vorschaubild kann so wie hier einfügt und mit dem Video verlinkt werden.

Standort ändern in Windows 10

Positionsdienst-Erweiterungen
Nach einem Update, vermutlich nach dem Anniversary Update, besteht nun die Möglichkeit den Standardaufenthaltsort selbst einzutragen. Diese Einstellung hat Microsoft bereitgestellt, wenn kein Zugriff auf GPS erfolgen kann oder kein GPS-Tracker installiert ist. Erst als ich mir die Neuerungen in den Update-Beschreibungen zur Brust nahm, entdeckte ich, dass Microsoft hier gewaltig nachgebessert hat.
 
Cortana benötigt einen Standort
Wer die digitale Sekretärin Cortana nutzen will, kommt nicht umhin, den Standort anzugeben. Kein Standort bedeutet für die redselige Cortana häufig großes Schweigen. In diesem Fall werden nur noch lokale Fragen in Windows 10 beantwortet.

Mit dem Anniversary Update unter Windows 10 Pro, besteht nun zusätzlich die Möglichkeit, Cortana zu deaktivieren, wenn sie nervt. Dabei kann der Positionsdienst nach wie vor, auch ohne die Dame genutzt werden.
 
Standort manuell einzutragen
Fast alle Einstellungen können in Windows 10 bequem über Schalter vorgenommen werden, so auch jene für den Positionsdienst. Dazu sind folgende Schritte erforderlich:

Mehrere Möglichkeiten bieten sich an, zum Positionsdienst zu gelangen. Neben einer Eingabe in der Suche, oder der Option Cortana zu fragen, führen noch zwei weitere Wege zu den Seiten in denen die entsprechenden Einstellungen vorgenommen werden können: Entweder öffnet man das Startmenü icon start oder die Benachrichtigungen über das Symbol ganz rechts in der Taskleiste. Beide Bereiche enthalten den Button »Einstellungen« bzw. »Alle Einstellungen«.

In den Windows-Einstellungen befindet sich neben weiteren Symbolen, auch das Symbol, das wie ein Vorhängeschlosses aussieht. Mit diesem Symbol, das gleichzeitig als Button dient, werden die Datenschutz-Einstellungen geöffnet. Bevor Sie in den Datenschutzoptionen Änderungen vornehmen, sollten Sie sich auf jeden Fall die Datenschutzbestimmungen gut durchlesen, um zu erfahren welche Daten dabei an Microsoft übermittelt werden.
 
windows starteinstellungenstandortkarte standort


Im Fenster der Datenschutzoptionen, das einige gut beschriebene Schalter enthält, können grundsätzliche Datenschutz-Richtlinien vorgegeben werden. Auf der linken Seite findet man in einem Menü die einzelnen Bereiche, in denen zahlreiche weitere Einstellungsmöglichkeiten zur Verfügung stehen. Hier wählen Sie nun »Position« und aktivieren im Positionsfenter den Positionsdienst. Danach klicken Sie auf die Schaltfläche »Als Standort festlegen«.

Der Button »Als Standort festlegen« öffnet die Karten-App, in der die erforderlichen Angaben eingegeben oder geändert werden können. Die Einstellungen werden nach Verlassen der Karten-App automatisch gespeichert. Der Standort wird bei jedem Öffnen nur dann angezeigt, wenn keine andere Karte aufgerufen wurde, doch kann mit dem Symbolstreifen rechts, die Karte mit dem Standort wieder geöffnet werden.

Wurde die genaue Position für »Wetter« erlaubt, sollte in der Wetter-App nach dem Aufruf der Live-Kachel im Startmenü, der richtige Ort erscheinen, falls vorher nichts anderes eingegeben wurde.
 
Wenn die Kiste raucht und kracht, hast sicher du was falsch gemacht!

Tipps & Tricks

In diesem Artikel befasse ich mich mit einigen Problemen, die im Umgang mit Computern auftreten können. Es ist auch ein kleines Nachschlagewerk für mich selbst, da ich nach geraumer Zeit häufig viele Lösungen dazu wieder vergessen habe.

Die Beiträge streifen im Besonderen die Bereiche Microsoft Windows, Webdesign, Webprogrammierung und Websicherheit ect. Meist sind es nur kurze Anleitungen und Tipps, für die man lange recherchiert hat, welche aber wichtige Informationen enthalten, die letztlich zum Gelingen beitragen.

Einige Javascript-Beispiele:

Webseiten-Weiterleitung mit Javascript

HTML- Methode
Zur Weiterleitung auf eine andere Webseite bieten sich mehrere Möglichkeiten. Die einfachste Methode wäre eine "meta http-equiv="refresh-" Weiterleitung. Diese Methode sehen aber Suchmaschinen nicht gerne. Damit hätten nämlich Internetbetrüger leichte Beute, um die Webseite auf eine Schadseite umzuleiten.

PHP- Methode
Die beste Lösung zur Weiterleitung auf eine andere Webseite ist vermutlich ein kleines PHP Script. Wird aber keine PHP-Programmiersprache genutzt und HTML verwendet, kann diese Methode nicht verwendet werden.

Javascript- Methode
Für Nutzer, die ihre Homepage in HTML erstellt haben, bietet sich eine Javascript-Lösung, um eine Webseite sicher auf eine andere Webseite weiterzuleiten. Um diese Methode aber wirklich sicher anzuwenden, sollte das Script unbedingt extern gespeichert werden.


Verzögerte Weiterleitung mit Javascrip

<script language="javascript" type="text/javascript">
<!--
window.setTimeout('window.location = "http://www.ihre-seite.de"',2000);
//-->
</script>

Zufallsspruch mit Javascript

<script>
<!--
var quotenumber = 4 ;
var randomnumber = Math.random() ;
var rand1 = Math.round( (quotenumber-1) * randomnumber) + 1 ;
quotes = new Array
quotes[1] = "Der Klügere gibt nach! Eine traurige Wahrheit, sie begründet die Weltherrschaft der Dummheit. [Marie von Ebner-Eschenbach]"
quotes[2] = "Ich glaube, der Weltmarkt hat Raum für fünf Computer - nicht mehr. [Thomas J. Watson, Vorstandsvorsitzender von IBM 1943]"
quotes[3] = "Nobody will ever need more than 640k RAM! [Bill Gates 1981]"
quotes[4] = "Windows 95 needs at least 8MB RAM [Bill Gates 1996]"
var quote = quotes[rand1]
document.write("Nr. " + rand1 + " von " + quotenumber + "<br />" + quote);
//-->
</script>

Dieses Script am besten in eine externe JS-Datei (z.B. zitat.js) speichern diese dann in die Seite einbinden mit

<script src="/zitat.js" type="text/javascript"></script>

Windows Problemlösungen

Fehler werden meist nicht vom PC verschuldet, sondern von dem, der ihn bedient. Hinter vielen kostenlosen Progrämmchen lauern sie, die Wüstlinge, genannt Viren. Die bösartigsten, die Trojaner, schlafen zuerst einige Zeit, um meist später und etappenweise ihr Zerstörungswerk zu verrichten. Der Begriff stammt aus der griechischen Mythologie, in der erzählt wird, wie sich griechische Soldaten in einem hölzernen Pferd versteckten, um nachts Troja anzugreifen. Die meisten Würmer werden zwar von eigenen Windows 10 Bordmitteln, wie zum Beispiel Windows Defender erkannt, doch viele tarnen sich als Apps, die vom Benutzer im gutem Glauben heruntergeladen werden. Sie gaukeln dem Nutzer häufig hilfreiche Wartungstools vor, dabei bewirken sie das pure Gegenteil und verrichten gut getarnt ihr schädliches Werk.

Windows Defender
Statt eines Virenscanners wie Avira, AVG oder andere Anwendungen zum Vernichten bösartiger Software benutze ich seit einigen Jahren den Windows Defender. Warum soll ich ein optionales speicherfressendes Teil installieren, wenn im Windows Betriebssystemen bereits ein leistungsstarkes AntiSpyware Tool integriert ist. Die letzten Versionen des Defenders wurden von Microsoft in soweit verbessert, dass sie jederzeit anderen Virenscannern die Stirn bieten können, jedenfalls den kostenlosen Fremdscannern.

Systemdatei-Überprüfungsprogramm » SFC
Aus Testgründen habe ich den sog. System File Checker, kurz SFC einmal ausgeführt, dabei musste ich feststellen, dass Microsoft auch hier geschraubt hat. Gut zu wissen, denn wurde das Betriebssystem von einem Schädling einmal versaut, kann dieses Windows Dienstprogramm vielleicht helfen. Je nach Schadensgröße, können Reparaturen viel Zeit kosten, doch kann ein "Plattmachen" des Systems in den meisten Fällen damit vermieden werden. Der SFC, kann nur mit Administratorrechten ausgeführt werden und war schon in früheren Windows-Versionen integriert.

Die Vorgehensweise ist ganz einfach: Man kopiert den entsprechenden Befehl mit einem Rechtsklick mit "Einfügen" in die Eingabeaufforderung. Noch komfortabler kann eine Überprüfung und oder Reparatur über PowerShell erledigt werden. Diese kann anstelle der Eingabeaufforderung über Einstellungen /Personalisierung/Taskleiste mit dem Schalter "Ein/Aus" ausgewählt werden.

Wenn das Überprüfungsprogramm feststellt, dass eine geschützte Datei fehlerhaft ist oder überschrieben wurde, holt es die korrekte Version der Datei aus dem Cache-Ordner (%Systemroot%\System32\Dllcache) oder aus den Windows-Installationsdateien. Anschließend wird die inkorrekte Datei ersetzt. Mit SFC kann auch der Cacheordner überprüft und wieder aufgefüllt werden.

Befehle des Systemdatei-Überprüfungsprogramms
Da ich nicht alle Befehle des SFC-Überprüfungsprogramms selbst einzeln ausprobierte, habe ich die folgende Auflistung mit den wichtigsten SFC-Anweisungen dem Artikel KB 310747 der Supportseite von Microsoft entnommen:

sfc /scannow
Überprüft alle geschützten Systemdateien und ersetzt falsche Versionen durch die richtigen Microsoft-Versionen. Für diesen Befehl ist unter Umständen ein Zugriff auf die Windows-Installationsdateien erforderlich.

sfc /scanboot
Überprüft alle geschützten Systemdateien bei jedem Start des Computers. Für diesen Befehl ist jedem Start des Computers unter Umständen ein Zugriff auf die Windows-Installationsdateien erforderlich.

sfc /revert
Setzt die Überprüfung auf die Standardeinstellungen zurück. Es erfolgt keine Überprüfung der geschützten Dateien beim Start des Computers. Die Standardgröße des Caches wird mit diesem Befehl nicht zurückgesetzt.

sfc /scanonce
Überprüft alle geschützten Systemdateien bei einem Neustart des Computers. Für diesen Befehl ist beim Neustart des Computers unter Umständen ein Zugriff auf die Windows-Installationsdateien erforderlich.

sfc /purgecache
Leert den Dateicache und überprüft alle geschützten Systemdateien. Für diesen Befehl ist unter Umständen ein Zugriff auf die Windows-Installationsdateien erforderlich.

sfc /cachesize=x
Legt die Größe des Dateicaches auf x MB fest. Die Standardgröße des Dateicaches beträgt 50 MB. Dieser Befehl macht einen Neustart des Computers erforderlich. Danach muss der Befehl sfc /purgecache ausgeführt werden, um die Größe des Caches auf der Festplatte festzulegen.



[ Windows 10 mit DISM reparieren ]

Tagesspruch mit Javascript


<script language="javascript" type="text/javascript">
<!--
var msg = new Array();
Gs = new Date();

today   = Gs.getDate();
msg[1]  = "Bei manchen Leuten ist ein Gehirnschlag ein Schlag ins Leere !";
msg[2]  = "Wer heiratet, kann sich die Sorgen teilen, die er vorher nicht hatte.";
msg[3]  = "Ich verspreche nichts. Und das halte ich auch.";
msg[4]  = "Der Computer kann alles. Aber sonst nichts.";
msg[5]  = "Hast Du Glück im Spiel, hast Du Geld für die Liebe !";
msg[6]  = "Früh arbeiten macht nur früh müde.";
msg[7]  = "Kluge leben von den Dummen. Dumme leben von der Arbeit.";
msg[8]  = "Wer zuletzt lacht, hat es nicht eher begriffen.";
msg[9]  = "Nonsens ist der Sieg des Geistes über die Vernunft.";
msg[10] = "Wer faulenzt schafft Arbeitsplätze.";
msg[11] = "Geisterfahrer sind sehr entgegenkommend.";
msg[12] = "Bei uns kann jeder werden, was er will, ob er will oder nicht.";
msg[13] = "Alle Menschen sind gleich ! Mir jedenfalls.";
msg[14] = "Er war Mathematiker. Aber sie war unberechenbar.";
msg[15] = "In Wirklichkeit ist die Realität ganz anders.";
msg[16] = "Was tut man nicht alles, wenn man nichts zu tun hat !";
msg[17] = "Lieber Hydrokultur als gar keine Bildung !";
msg[18] = "95 % aller Computerprobleme befinden sich zwischen Tastatur und Stuhl.";
msg[19] = "Wer gegen ein Minimum Aluminium immun ist, besitzt Aluminiumminimumimmunität.";
msg[20] = "Im Falle eines Falles ist richtig fallen alles.";
msg[21] = "Geht die Sonne auf im Westen, musst Du Deinen Kompass testen !";
msg[22] = "Verflucht, sagte die Giftschlange, als sie sich auf die Zunge biss ...";
msg[23] = "Liebe macht blind. Aber wer verheiratet ist, kann plötzlich wieder sehen.";
msg[24] = "Es wird schon schiefgehen, sagte der Turmbauer von Pisa.";
msg[25] = "Die Pflicht ruft ? Wir rufen zurück !";
msg[26] = "Das Leben ist wie Zeichnen - aber ohne Radiergummi.";
msg[27] = "Einmal dachte ich, ich hätte unrecht. Aber ich hatte mich ausnahmsweise getäuscht.";
msg[28] = "Jetzt sind die guten alten Zeiten, nach denen wir uns in zehn Jahren zurücksehnen.";
msg[29] = "Sprächen die Menschen nur von Dingen, von denen sie etwas verstehen, die Stille wäre unerträglich.";
msg[30] = "Denke niemals an die Zukunft. Sie kommt früh genug.";
msg[31] = "Politiker sind nicht an Weisungen gebunden, höchstens an Überweisungen.";

function Tip_des_Tages() {
document.write(msg[today]);
}

//-->
</script>

Verlinkbarer Textticker mit Javascript

<script>>
<!--
var msg=new Array()
msg[0]="+ + + Nachrichten aus Rosenheim + + +"
msg[1]="+ + + Nachrichten von sueddeutsche.de + + +"
msg[2]="+ + + Fernsehsendungen und Programme + + +"
msg[3]="+ + + Neuigkeiten rund um die CeBIT + + +"
msg[4]="+ + + M-Soung, die Party- und Oktoberfestband + + +"

// Links in Array: URL/Pfad oder kein Link = "#"
var msglink=new Array()
msglink[0]="http://www.ovb-online.de/"
msglink[1]="http://www.sueddeutsche.de/"
msglink[2]="http://www.tvinfo.de/"
msglink[3]="http://www.cebit.de/homepage_d?x=1"
msglink[4]="https://www.band-magicsound.de/"

// Link öffnen als: "_blank", "_self", "_top" oder in einem Frame (Framename)
// Kein Link = ""
var linktarget=new Array()
linktarget[0]="_blank"
linktarget[1]="_blank"
linktarget[2]="_blank"
linktarget[3]="_blank"
linktarget[4]=""

// Schriftart
var msgfont="Arial"

// Schriftfarbe
var msgfontcolor="#454545"

// Farbe des Links, bei Beruehrung mit dem Mauszeiger
var msgfontcolorrollover="c10000"

// Schriftgröße
var msgfontsize=10

// sSchriftgröße für Netscape 4x
var msgfontsizeHTML=2

// Hintergrundfarbe der Textbox
var msgbgcolor="#ffffff"

// Hintergrundfarbe der Textbox ausgeblendet
var msgbgout="#ffffff"

// Schriftstärke: normal oder bold
var msgweight="nomal"

// Schriftstil: normal oder italic
var msgitalic="normal"

// Länge der Textbox in Pixel
var msgwidth=550

// Höhe der Textbox in Pixel
var msgheight=26

// Pause zwischhen angezeigtem Text in Sekunden
var msgpause=3

// Rahmenstärke der Textbox
var msgborder=1

// Rahmenfarbe
var msgbordercolor="#c0c0c0"

// Textausrichtung: center, left oder right
var msgalign="center"

// Vertivale Textausrichtung: middle, top oder bottom
var msgvalign="middle"

var textdecoration="none"
var textWeightA="<b>"
var textWeightB="</b>"
var textItalicA=""
var textItalicB=""
var transparenz=100
var transparenzschritt=2

var x_pos=0
var y_pos=0
var i_msg=0
var msgsplit=""
var i_msgsplit=0
var i_mark=0
var tickerinhalt
var pausefade=30
msgpause*=1000

var loopende=false
var browserinfos=navigator.userAgent
var ie=document.all&&!browserinfos.match(/Opera/)
var ns4=document.layers

In eine Zeile ohne Umbruch!
var ns6=document.getElementById&&!document.all&&!browserinfos.match(/Opera/)
var opera=browserinfos.match(/Opera/)
var browserok=ie||ns4||ns6||opera

function inhaltswechsel() {
   browserTyp()
   i_msg++
   if (i_msg>=msg.length) {i_msg=0}
   if (ie) {
      ticker.innerHTML=inhalt
      ausblenden()
   }
   if (opera || ns6) {
      document.getElementById('ticker').innerHTML=inhalt
      var msgtimer=setTimeout("inhaltswechsel()",2*msgpause)
   }
   if (ns4) {
      document.roof.document.ticker.document.write(inhalt)
      document.roof.document.ticker.document.close()
      var msgtimer=setTimeout("inhaltswechsel()",msgpause)
   }
}

function einblenden() {
   if (transparenz<100){
      transparenz+=transparenzschritt
   if (ie) {
      document.all.tickerbg.filters.alpha.opacity=transparenz
   }
      var fadetimer=setTimeout("einblenden()",pausefade)
   }
   else {
      clearTimeout(fadetimer)
      setTimeout("inhaltswechsel()",1000)
   }
}

function ausblenden() {
   if (transparenz>0){
      transparenz-=transparenzschritt
      if (ie) {
         document.all.tickerbg.filters.alpha.opacity=transparenz
      }
      if (ns6) {
         document.getElementById('tickerbg').style.MozOpacity=transparenz/100
      }
      var fadetimer=setTimeout("ausblenden()",pausefade)
        }
      else {
         clearTimeout(fadetimer)
         setTimeout("einblenden()",msgpause)
      }
}

browserTyp()
function browserTyp() {
   if (ie || opera) {
      var tablewidth=msgwidth-2*msgborder
      var tableheight=msgheight-2*msgborder
   }
   else {
      var tablewidth=msgwidth
      var tableheight=msgheight
   }
   if (ie || ns6) {
      var padding=parseInt(msgborder)+3

      In eine Zeile ohne Umbruch!
      inhalt="<table width="+tablewidth+" height="+tableheight+"
      cellpadding="+padding+" cellspacing=0 border=0><tr
      valign="+msgvalign+"><td align="+msgalign+">"

      In eine Zeile ohne Umbruch!
      inhalt+="<a href=\""+msglink[i_msg]+"\" target=\""+linktarget[i_msg]+"\"
      style=\"position:relative;font-family:\'"+msgfont+"\';font-size:"+
      msgfontsize+"pt;font-weight:"+msgweight+";text-decoration:"+
      textdecoration+";color:"+msgfontcolor+";font-style:"+msgitalic+";
      \" onMouseOver=\"this.style.color=\'"+msgfontcolorrollover+
      "\'\" onMouseOut=\"this.style.color=\'"+msgfontcolor+"\'\">"

      inhalt+=msg[i_msg]
      inhalt+="</a></td></tr></table>"
   }
   else {

      In eine Zeile ohne Umbruch!
      inhalt="<table width="+tablewidth+" height="+tableheight+" cellpadding="+
      msgborder+" cellspacing=0><tr valign="+msgvalign+"><td align="+
      msgalign+">"

      In eine Zeile ohne Umbruch!
      inhalt+="<a href=\""+msglink[i_msg]+"\" target=\""+linktarget[i_msg]+"\"
      style=\"position:relative;font-family:\'"+msgfont+"\';font-size:"+
      msgfontsize+"pt;font-weight:"+msgweight+";text-decoration:"+
      textdecoration+";color:"+msgfontcolor+";font-style:"+msgitalic+";\">"

      inhalt+=msg[i_msg]
      inhalt+="</a></td></tr></table>"

      In eine Zeile ohne Umbruch!
      frameinhalt="<table width="+tablewidth+" height="+tableheight+"
      cellpadding=0 cellspacing=0 border="+msgborder+">lt;<tr><td>"

      frameinhalt+="<font color=\""+msgbgcolor+"\">"
      frameinhalt+="."
      frameinhalt+="</font>"
      frameinhalt+="</td></tr></table>"
   }
}

if (ie || ns6 || opera) {
   if (ns6) {
      msgwidth-=2*msgborder
      msgheight-=2*msgborder
   }

      In eine Zeile ohne Umbruch!
      document.write("<div id=\"roof\" style=\"position:relative;width:"+
      msgwidth+"px;height:"+msgheight+"px;font-family:\'"+msgfont+"\';
      border-style:solid;border-color:"+msgbordercolor+";border-width:"+
      msgborder+"px;background-color:"+msgbgcolor+";\">")

   if (!opera && !ns6 ) {

      In eine Zeile ohne Umbruch!
      document.write("<div id=\"tickerbg\" style=\"position:absolute;top:"+
      -msgborder+"px;left:"+-msgborder+"px;width:"+msgwidth+"px;height:"+
      msgheight+"px;font-family:\'"+msgfont+"\';font-size:"+msgfontsize+
      "pt;font-weight:"+msgweight+";font-style:"+msgitalic+";border-style:
      solid;border-color:"+msgbordercolor+";border-width:"+msgborder+
      "px;background-color:"+msgbgout+";overflow:hidden\;filter:
      alpha(opacity=100)\">")

      document.write("</div>")
   }

      In eine Zeile ohne Umbruch!
      document.write("<div id=\"ticker\" style=\"position:absolute;top:"+
      -msgborder+"px;left:"+-msgborder+"px;width:"+msgwidth+"px;height:"+
      msgheight+"px;font-family:\'"+msgfont+"\';font-size:"+msgfontsize+
      "pt;font-weight:"+msgweight+";font-style:"+msgitalic+";border-style:
      solid;border-color:"+msgbordercolor+";border-width:"+msgborder+
      "px;overflow:hidden\;\">")

      document.write("</div></div>")

      window.onload=inhaltswechsel
}

else if (ns4) {

     In eine Zeile ohne Umbruch!
     document.write("<ilayer name=\"roof\" width="+msgwidth+
     " height="+msgheight+">")

     In eine Zeile ohne Umbruch!
     document.write("<layer name=\"tickerframe\" width="+msgwidth+
     " height="+msgheight+" top=0 left=0 bgcolor="+msgbgcolor+">")

     document.write(frameinhalt)
     document.write("</layer>")

     In eine Zeile ohne Umbruch!
     document.write("<layer name=\"ticker\" width="+msgwidth+
     " height="+msgheight+" top=0 left=0>")

     document.write()
     document.write("</layer>")
     document.write("</ilayer>")
     window.onload=inhaltswechsel
}
// -->
<script>>

Verlinkbarer Lauftext mit Javascript

<head>
<script>
<!--
   descript = new Array("+ + + Nachrichten aus Rosenheim + + +",
      "+ + + Nachrichten von sueddeutsche.de + + +",
      "+ + + Fernsehsendungen und Programme + + +",
      "+ + + Neuigkeiten rund um die CeBIT + + +",
      "+ + + M-Soung, die Party- und Oktoberfestband + + +");

   links = new Array("http://www.ovb-online.de",
      "http://www.sueddeutsche.de",
      "http://www.tvinfo.de",
      "http://www.cebit.de",
      "https://www.band-magicsound.de");

function news(faktor,text)
   {if (text < descript.length)
   {if (faktor < descript[text].length+1)

      In eine Zeile ohne Umbruch!
      {ausg = descript[text].substring(0,faktor) + "" + " <a href='#'
      target='_blank' id='link'>[ Link ]</a>";

      ticker.style.color = "#a2a2a2";
      ticker.innerHTML = ausg;
      link.href = links[text];
      faktor2 = faktor + 1;
      text2 = text;
      setTimeout("news(faktor2,text2)",50);}
   else
     {ticker.style.color = "#232323";
      l = descript[text].length;
      setTimeout("goback(1,text2,l)",3500);};}
   else
      {setTimeout("news(1,0)",2000);};}

function goback(faktor,text,l)
   {if (l > 1)
      {laenge = descript[text].length - faktor;
      ausg = descript[text].substring(0,laenge) + "";
      ticker.innerHTML = ausg;
      faktor2 = faktor + 1;
      text2 = text;
      setTimeout("goback(faktor2,text2,laenge)",10);}
   else
      {text2 = text + 1;
      news(1,text2);};}
// -->
</script>

<style>
   #ticker {
      text-align: left;
      font-size: 1.5em;
      font-family: ariel;
   }

   a:link, a:visited, a:active {
      color: #007bdf;
      text-decoration: none;
   }

   a:hover {
      color: #c10000;
   }
</style>
</head>

<body onLoad="news(1,0)" text="#000000" bgcolor="#ffffff">
  <p id="ticker">Ein Fehler ist aufgetreten...</p>

Automatisches Änderungsdatum mit Javascript

<body>

<script type="text/javascript">

In eine Zeile ohne Umbruch!
var Wochentage = new Array("Sonntag","Montag","Dienstag","Mittwoch",
"Donnerstag","Freitag","Samstag");

 In eine Zeile ohne Umbruch!
 var Monate = new Array("Januar", "Februar", "März","April","Mai","Juni",
 "Juli","August","September","Oktober","November","Dezember");

 var Updated = new Date(document.lastModified);
 var Wochentag = Wochentage[Updated.getDay()];
 var Monat = Monate[Updated.getMonth()];
 var Tag = Updated.getDate();
 var Jahr = Updated.getFullYear();
 var Stunde = Updated.getHours();
 var Minute = Updated.getMinutes();
if (Tag < 10) Tag = "0" + Tag;
if (Minute < 10) Minute = "0" + Minute;

var UpdateText="<strong>Letzte Aktualisierung:</strong> " + "<br />" +
Wochentag + ", " + Tag + ". " + Monat + " " + Jahr +
" um " + Stunde + ":" + Minute;

document.write(UpdateText);

</script>
</body>

Monatsspruch mit Javascript

<head>

<script>
<!-

// Einleitungstext
var Einleitung = "Gedicht für den Monat ";

// Liste der Monatsnamen
var MonatsName = new Array
(
  " Januar",
  " Februar",
  " März",
  " April",
  " Mai",
  " Juni",
  " Juli",
  " August",
  " September",
  " Oktober",
  " November",
  " Dezember"
);

// Liste der URLs und des MouseOver-Textes
// unbedingt 3 x 12 Einträge notieren, Wiederholungen sind erlaubt

// Liste 1 URL
// Liste 2 MouseOver-Text
// Liste 3 URL für Banner (Kann auch leer bleiben)

Liste = new Array()

// 1
Liste[Liste.length]="januar.html",
Liste[Liste.length]="",
Liste[Liste.length]="images/jan.jpg",

// 2
Liste[Liste.length]="februar.html",
Liste[Liste.length]="",
Liste[Liste.length]="images/feb.jpg",

// 3
Liste[Liste.length]="maerz.html",
Liste[Liste.length]="",
Liste[Liste.length]="images/mrz.jpg",

// 4
Liste[Liste.length]="april.html",
Liste[Liste.length]="",
Liste[Liste.length]="images/apr.jpg",

// 5
Liste[Liste.length]="mai.html",
Liste[Liste.length]="",
Liste[Liste.length]="images/mai.jpg",

// 6
Liste[Liste.length]="juni.html",
Liste[Liste.length]="",
Liste[Liste.length]="images/jun.jpg",

// 7
Liste[Liste.length]="juli.html",
Liste[Liste.length]=""
Liste[Liste.length]="images/jul.jpg",

// 8
Liste[Liste.length]="august.html",
Liste[Liste.length]="",
Liste[Liste.length]="images/aug.jpg",

// 9
Liste[Liste.length]="september.html",
Liste[Liste.length]="",
Liste[Liste.length]="images/sep.jpg",


// 10
Liste[Liste.length]="oktober.html",
Liste[Liste.length]="",
Liste[Liste.length]="images/okt.jpg",

// 11
Liste[Liste.length]="november.html",
Liste[Liste.length]="",
Liste[Liste.length]="images/nov.jpg",

// 12
Liste[Liste.length]="dezember.html",
Liste[Liste.length]="",
Liste[Liste.length]="images/dez.jpg"

// Monatszahl ermitteln
DatumHeuteLink = new Date();

// Tageszahl entspricht dem Tag des Monats
var TagesZahl = DatumHeuteLink.getMonth() +1;

var ElementNr = ((TagesZahl)*3)-3;

// Testausgabe
// alert(TagesZahl + " Array-Element Nr.: " + ElementNr);

var LinkDatum =  MonatsName[DatumHeuteLink.getMonth()] + " ";

// Wenn kein Monatsname angezeigt werden soll Kommentarzeichen entfernen
// var LinkDatum = " ";

var LinkAdresse = Liste[ElementNr];

//  Zeilenumbruch in einigen Browsern
var OverText = Einleitung + LinkDatum + " von einem bedeutenden Autor\n" + Liste[ElementNr+1];

var BannerURL = Liste[ElementNr+2];

// Linkcode in die HTML-Seite schreiben
function MonatsLinkGrafik(Fenster)
{

if(Fenster == 1) {
Anzeige = "";  // Standard = _parent
} else {
Anzeige = "";  // Standard = _self
}

if(BannerURL == "") {
document.write('<a title="' + OverText + ' " target="'+Anzeige+'" href="' + LinkAdresse + '">Spruch des Monats</a>');
} else {

// Banner mit Text
// document.write('<a title="' + OverText + ' " target="'+Anzeige+'" href="' + LinkAdresse + '">Spruch des Monats <br />');
// document.write('<img title="' + OverText + '" style="vertical-align:middle;" src="' + BannerURL + '" alt="" border="0"> </a>');

// Banner ohne Text
document.write('<a title="' + OverText + ' " target="'+Anzeige+'" href="' + LinkAdresse + '">');
document.write('<img title="' + OverText + '" style="vertical-align:middle;" src="' + BannerURL + '" alt="" border="0"> </a>');

}
}

//-->
</script>
In HTML einbinden

</head>
<body>

<p style="margin: -5px; padding: -5px;">Monatsspruch</p>
<br />
<p>
<script">
<!--
MonatsLinkGrafik(1);
//-->
</script>
</p>
</body>

Zurück

Für den Betrieb unserer Webseite nutzen wir Cookies. Bei Ablehnung, stehen möglicherweise nicht mehr alle Funktionalitäten der Seite zur Verfügung.