noti.js

Zurzeit arbeite ich an einer umfangreichen Änderung im Fallback für nicht unterstützende Browser.
Find ich geil! Bin gespannt, wie du den IE knackst ohne dass die Benachrichtigung einem den Focus/Cursor weg nimmt und man sie auch sieht, wenn der IE nicht im Vordergrund liegt.
 
Wie hast du es für den IE gelöst?
Es werden auf der Webseite in einem Kasten rechts unten die Benachrichtigungen angezeigt; damit der User darauf aufmerksam wird, wechselt der Titel intervallisch und es kann ein Audio abgespielt werden; desweiteren wird nach einer gewissen Zeit ein alert geworfen, falls der User bis dahin noch nichts bemerkt hat. Außerdem blinkt durch window.focus() der Tab rot, falls er nicht den Fokus besitzt; und falls das ganze Fenster minimiert ist - aber zugleich kein anderer Tab den Fokus hat - das Fenster wieder geöffnet.


Btw, ich bräuchte Hilfe hierbei: event emitter · Issue #1 · j-l-n/noti.js · GitHub
Korbinian, du hattest ja den Vorschlag - kannst du mir mal zeigen, wie du dir das genau vorstellst?
 
Zuletzt bearbeitet:
Ach ne, mir fällt gerade ein, dafür müsste erst ein Softwarezertifikat erzeugt werden, das du dann in dein Java importierst. Sonst läuft das nicht. Java hat seit der 7.51 extrem verschärfte Zugriffsrechte eingebaut. Das ist alles ziemlich zeitaufwendig, die ganze Prozedur. Willst du das wirklich?
Es wäre halt dann wirklich nur eine Lösung für Clients, die in ihr Java ein Softwarezerti importieren können und wollen. Also weniger für eine offene Benutzergruppe. Oder ist das kein Problem?
 
Wie komplex/komfortabel/kontrollierbar willst du denn das Eventsystem haben.

Ich weiß es ehrlich gesagt nicht - hab mich vor deiner Idee noch nicht wirklich mit einem echten Eventsystem beschäftigt. Müsste mir da wahrscheinlich erst einmal Grundlagen aneignen...
 
Ich meine hald, ob man einfach nur beim .create() ein paar Attribute (wie oncreate, onclose, etc.) mit übergeben kann und die dort übergebenen Callbacks dann ausgeführt werden, oder ob man Listener auch noch später hinzufügen oder entfernen können soll.
 
oder ob man Listener auch noch später hinzufügen oder entfernen können soll.
Hm, gute Frage. Wäre eigentlich gar nicht mal so unpraktisch. Kannst du mir da mal ein simples Beispiel bauen, wie das nachträgliche Hinzufügen/Entfernen bzw. Triggern funktioniert?
 
Ist eigentlich so ähnlich die die normalen Browserevents:
HTML:
<!DOCTYPE html>

<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>Fenstertitel</title>
<script type="text/javascript" src="//kkjs.kkapsner.de/modules/kkjs.load.js?modules=NodeRepresentator"></script>
</head>
<body>
<script type="text/javascript">
var Button = kkjs.NodeRepresentator.extend(function(name){
	this.name = name;
}).implement({
	_createNode: function(){
		var This = this;
		return kkjs.node.create({
			tag: "button",
			childNodes: [this.name],
			onclick: function(){
				This.emit("click");
			}
		});
	},
	_updateNode: function(node){
		node.firstChild.nodeValue = this.name;
	}
});

function listener(){
	alert("test");
}
var b1 = new Button("test");
var b2 = new Button("append listener");
b2.on("click", function(){
	b1.removeListener("click", listener);
	b1.on("click", listener);
});
var b3 = new Button("remove listener");
b3.on("click", function(){
	b1.removeListener("click", listener);
});
document.body.appendChild(b1.createNode());
document.body.appendChild(b2.createNode());
document.body.appendChild(b3.createNode());
</script>
</body>
</html>
 
Zurück
Oben