Autor Thema: (Diskussion) Menue.js  (Gelesen 13673 mal)

Nem

  • Forenfetischist
  • ****
  • Beiträge: 888
  • Geschlecht: Männlich
    • Profil anzeigen
(Diskussion) Menue.js
« am: 28. April 2009, 22:45:08 »
Hi Dark-Water

Zum Menü habe ich noch ein paar Fragen.

1. Werden die Auswahlen denn gespeichert, so dass man die nicht jedesmal neu eigeben muss?

2. Läuft die tv.js denn später noch ohne die Menue.js?
    Wenn nein, dann wäre es sinnvoller in der Menue.js das TV.js aufzurufen durch:
   document.write('<script src="'+ToolPfad+'skripte/tv.js"></script>');
   und in der Basicfile.js nur den Aufruf
   document.write('<script src="'+ToolPfad+'skripte/menue.js"></script>');
   einzubringen.
   
Der Entwicklungsthread befindet sich hier.

Gruß Nem

Übersicht über die Java-Skripte: http://mirandanem.mi.funpic.de/



Dark-Water

  • Gast
Re: (Diskussion) Menue.js
« Antwort #1 am: 29. April 2009, 12:07:44 »
1. Werden die Auswahlen denn gespeichert, so dass man die nicht jedesmal neu eigeben muss?

2. Läuft die tv.js denn später noch ohne die Menue.js?
    Wenn nein, dann wäre es sinnvoller in der Menue.js das TV.js aufzurufen durch:
   document.write('<script src="'+ToolPfad+'skripte/tv.js"></script>');
   und in der Basicfile.js nur den Aufruf
   document.write('<script src="'+ToolPfad+'skripte/menue.js"></script>');
   einzubringen.

1. Das wollte ich auf jeden Fall noch einbringen. Das FileSystemObject bietet da ja ensprechende möglichkeiten.

2. Werde ich noch dementsprechend ändern.

Nem

  • Forenfetischist
  • ****
  • Beiträge: 888
  • Geschlecht: Männlich
    • Profil anzeigen
Re: (Diskussion) Menue.js
« Antwort #2 am: 29. April 2009, 13:20:23 »
Was hälst Du davon:

Man bindet in der Basicfile.js alle anderen JS-Dateien ein, aber nicht direkt mit
document.write('<script src="'+ToolPfad+'skripte/tv.js"></script>');

sondern durch das FileSystemObject.
var fso, f, fc, s;
fso = new ActiveXObject("Scripting.FileSystemObject");
f = fso.GetFolder(Pfad);
fc = new Enumerator(f.files);
for (;!fc.atEnd(); fc.moveNext()) {
if (fc.item().Name!="basicfile.js") document.write('<script src="'+ToolPfad+'/skripte/'+fc.item().Name+'"></script>');
}

Somit könnte man sofort alle Dateien in dem Ordner einbinden.

Gruß Nem

EDIT:
Problem damit besteht darin, dass absolute Pfadangaben benötigt werden. Bisher steht in der Config.js ein relativer:
ToolPfad = '../!tools';
Das Problem wäre somit, dass nun z.B. "C:\!tools" bzw. "D:\!tools" die Daten enthalten müssten.
Den relativen Pfad sollte in der Config.js aber beibehalten werden, damit das ganze portable bleibt.
« Letzte Änderung: 29. April 2009, 13:38:48 von Nem »

Übersicht über die Java-Skripte: http://mirandanem.mi.funpic.de/



progandy

  • Plugin-Autor
  • Akkordschreiber
  • ***
  • Beiträge: 626
    • progandy@hot-chilli.net"
    • http://progandy.miranda-vi.org"
    • Profil anzeigen
    • ProgAndy
Re: (Diskussion) Menue.js
« Antwort #3 am: 29. April 2009, 14:53:53 »
Damit könnte an den gesamten Pfad ermitteln, solange der ToolPfad relativ zum base-Tag vom Skin ist
(also wenn <base href="%base%"> )
var fso = new ActiveXObject("Scripting.FileSystemObject");
var AbsoluterPfad = fso.GetAbsolutePathName(document.getElementsByTagName('base')[0].href.substr(7) + ToolPfad);
alert(AbsoluterPfad)
Jetzt wo ich weiss wie es funktioniert versteh ich auch die Gebrauchsanleitung
[Status: Jabber]

Nem

  • Forenfetischist
  • ****
  • Beiträge: 888
  • Geschlecht: Männlich
    • Profil anzeigen
Re: (Diskussion) Menue.js
« Antwort #4 am: 29. April 2009, 15:41:18 »
Ok, danke.

Funktioniert so sehr gut.

Das gehört jetzt eher zur Basicfile.js:
http://forum.miranda-im.de/index.php?topic=7496.msg64507#msg64507

Gruß Nem

« Letzte Änderung: 29. April 2009, 15:57:02 von Nem »

Übersicht über die Java-Skripte: http://mirandanem.mi.funpic.de/



Nem

  • Forenfetischist
  • ****
  • Beiträge: 888
  • Geschlecht: Männlich
    • Profil anzeigen
Re: (Diskussion) Menue.js
« Antwort #5 am: 29. April 2009, 20:04:38 »
@Dark-Water

Noch ein paar Sachen für Deine TODO Liste.
1. Wenn Du das Menue einbringst, dann sollte dieses auch kontrollieren welche JS verhanden sind.
    Z.B. sollte dann der Animationsbutton nur angezeigt wenn auch die JS-Datei auch gefunden wird.
2. Sinnvoll sind über den Grafiken auch Tooltips.

Gruß Nem

EDIT:
Was auch ganz gut wäre, wenn der "Hauptbutton" als kleiner Pfeil links am Rand ist. Beim Klicken darauf schiebt dieser
und das DIV (Hintergrundfarbe ggf grau) mit den anderen Buttons von links in das Fenster rein.
« Letzte Änderung: 29. April 2009, 20:09:37 von Nem »

Übersicht über die Java-Skripte: http://mirandanem.mi.funpic.de/



Dark-Water

  • Gast
Re: (Diskussion) Menue.js
« Antwort #6 am: 30. April 2009, 00:49:08 »
Jetze zum Menü-Button extra dazu. Also man muss quasi zweimal klicken oder als Menü-Button ersatz ?

Nem

  • Forenfetischist
  • ****
  • Beiträge: 888
  • Geschlecht: Männlich
    • Profil anzeigen
Re: (Diskussion) Menue.js
« Antwort #7 am: 30. April 2009, 09:49:52 »
Als Menü-Button Ersatz.

geschlossen:
/-----------------------------\
|                                        |
|                                        |
|X                                      |
|                                        |
|                                        |
\-----------------------------/


offen:
/-----------------------------\
|                                         |
|/------\                              |
||   Y   |                              |
||   Y   |X                            |
||   Y   |                              |
|\------/                              |
|                                         |
\-----------------------------/

X = Menü-Button
Y = Weitere Buttons z.B. der vom TV

Mache es so, dass die Y-Buttons in einem DIV liegen und der X-Button dort nicht drin ist. Das ist einfacher zu händeln.

Gruß Nem

Übersicht über die Java-Skripte: http://mirandanem.mi.funpic.de/



Dark-Water

  • Gast
Re: (Diskussion) Menue.js
« Antwort #8 am: 07. Mai 2009, 19:00:44 »
@Nem
Ich fande den Menü Button eigentlich ganz fluffig ;(
ich denke mal ich werde enventuell beide Versionen einbringen.

ab der Version 0.0.4.0 gibts auch Tooltips :)

Nem

  • Forenfetischist
  • ****
  • Beiträge: 888
  • Geschlecht: Männlich
    • Profil anzeigen
Re: (Diskussion) Menue.js
« Antwort #9 am: 07. Mai 2009, 20:57:23 »
@Dark-Water
Von mir war das ja auch nur ein Vorschlag. Finde halt, dass man evlt einen kleinen Button
hat, so dass es nicht aufdringlich wirkt oder was anderes verdeckt.


Übersicht über die Java-Skripte: http://mirandanem.mi.funpic.de/



Dark-Water

  • Gast
Re: (Diskussion) Menue.js
« Antwort #10 am: 09. Mai 2009, 16:00:13 »
So ich habe jetze beide möglichkeiten eingebracht. Update folgt noch

Und erkläre mir mal einer warum das net geht:
document.write('<div id="Menue" onClick="MenueZeigen()" style=\"margin-top: 0px; margin-left: 0px; position:fixed; z-index:181;\">');
if (MenueButton == 1) {
document.write('<img class="MenueButtons" title="Men&uuml; &ouml;ffnen/schlie&szlig;en" src="'+ToolPfad+'icons/menu.png" onmouseover="src=\''+ToolPfad+'icons/menu_d.png\';" onmouseout="src=\''+ToolPfad+'icons/menu.png\';">');
}
else {
document.getElementById("Menue").style.marginTop = "100px";
document.write('>');
}
document.write('</div>');
document.write('<div id="MenueAuswahl" style=\"visibility:hidden; margin-top: 58px; margin-left: 15px; position:fixed; z-index:181;\">');
if (MenueButton == 1) {
document.getElementById("MenueAuswahl").Style.marginTop = "40px";
document.getElementById("MenueAuswahl").Style.marginLeft = "0px";
}
document.write('</div>');
Kann ich mit document.getElementById("").Style keine Margin Attribute ändern ?

Nem

  • Forenfetischist
  • ****
  • Beiträge: 888
  • Geschlecht: Männlich
    • Profil anzeigen
Re: (Diskussion) Menue.js
« Antwort #11 am: 09. Mai 2009, 16:59:47 »
Habe es nur kurz angeschaut:

Heißt das nicht margin-top anstatt margintop?

Übersicht über die Java-Skripte: http://mirandanem.mi.funpic.de/



Dark-Water

  • Gast
Re: (Diskussion) Menue.js
« Antwort #12 am: 10. Mai 2009, 13:44:59 »
Hatte ich auch erst angenommen, aber dann ist das ne Syntax Fehler und Notepad++ gibt mir als Syntax Hilfe auch nur diese Wörter vor.

Nem

  • Forenfetischist
  • ****
  • Beiträge: 888
  • Geschlecht: Männlich
    • Profil anzeigen
Re: (Diskussion) Menue.js
« Antwort #13 am: 17. Mai 2009, 21:44:13 »
Neue Version der Menue.js Ver. 0.0.3.1 Beta auf meiner Seite
Damit sollten nun alle Elemente wieder an der richten Stelle sein und mitscrollen.

Gruß Nem

Übersicht über die Java-Skripte: http://mirandanem.mi.funpic.de/



Scoty

  • Tastaturquäler
  • **
  • Beiträge: 310
  • Geschlecht: Männlich
    • Profil anzeigen
    • United-Topic
Re: (Diskussion) Menue.js
« Antwort #14 am: 18. Mai 2009, 09:08:55 »
Neue Version der Menue.js Ver. 0.0.3.1 Beta auf meiner Seite
Damit sollten nun alle Elemente wieder an der richten Stelle sein und mitscrollen.

Gruß Nem

Super, so bald wer zum Chatten da ist werde ich das testen.


Edit: Funktioniert, klasse. Kann man da was Einstellen das man die Uhr auf eine andere Seite darstellen kann?
« Letzte Änderung: 18. Mai 2009, 09:47:35 von Scoty »
http://scoty.miranda-vi.org/
http://www.united-topic.de/ da wird dir geholfen.

ICQ: 21802606 MSN: scoty30@hotmail.com Skype: scoty30 Yahoo: userscoty

Dark-Water

  • Gast
Re: (Diskussion) Menue.js
« Antwort #15 am: 18. Mai 2009, 16:37:40 »
Also:
- es gibt schon die Version 0.1.0.0 und da sollte es mit dem scrollen auf jeden Fall funktionieren.
- Zusätzlich kannst du (momentan in der Zeile 17 der menu.js) später in der Config.js durch ändern des Wertes die Art des Menü-Buttons wählen.
var MenueButton = 0; oder var MenueButton = 1; (das Semikolon nicht vergessen)

Zitat
Kann man da was Einstellen das man die Uhr auf eine andere Seite darstellen kann?
das Menü-Skript hat damit nix zu tun , es ruft lediglich die Clock.js auf zum Uhr darstellen.
Eventuell kann da Nem ja mal was basteln

Scoty

  • Tastaturquäler
  • **
  • Beiträge: 310
  • Geschlecht: Männlich
    • Profil anzeigen
    • United-Topic
Re: (Diskussion) Menue.js
« Antwort #16 am: 18. Mai 2009, 16:51:43 »
Wo gibt es die neuere Version 0.1.0.0?
http://scoty.miranda-vi.org/
http://www.united-topic.de/ da wird dir geholfen.

ICQ: 21802606 MSN: scoty30@hotmail.com Skype: scoty30 Yahoo: userscoty

Nem

  • Forenfetischist
  • ****
  • Beiträge: 888
  • Geschlecht: Männlich
    • Profil anzeigen
Re: (Diskussion) Menue.js
« Antwort #17 am: 18. Mai 2009, 18:17:48 »
@Dark-Water

Kann man nicht von der Menue.js alle Einstellungen vornehmen?
Man könnte damit dann nicht nur die Auswahl von der Uhr usw. vornehmen, sondern
auch dessen Position, Größe etc.

Am einfachsten wäre es, wenn die Menue.js die Einstellungen für Clock usw. in eine Datei schreibt.
Die Clock.js usw. könnten dann aus der Datei die Einstellungen wieder auslesen und sich dann selber
darum kümmern.

Dafür würde ich dann eine INI nehmen, damit sollten die Einstellungen recht einfach vornehmen lassen.

Gruß Nem

Übersicht über die Java-Skripte: http://mirandanem.mi.funpic.de/



Dark-Water

  • Gast
Re: (Diskussion) Menue.js
« Antwort #18 am: 18. Mai 2009, 18:22:30 »
Hm so was hatte ich auch schon im Sinn werde mich am WE mal dran setzen.

Wenn de ne Idee hast wie ich ein DIV-Element per RemoveNode oder RemoveChild korrekt ausladen bzw. Entfernen kann.
Kannste es mir mal mal sagen  :)

Außerdem hab ich noch ein Prob. Bei Scoty funktioniert bei der neuste Version das Mit-scrollen nicht. Eagl ob ich POSITION , FIXED oder ABSOLUTE nehme. Bei mir hingegen funktioniert FIXED ohne Probleme und ABSOLUTE geht nicht. Ist das eventuell ne Problem vom IE (6, 7 oder 8)  oder ne Problem vom benutzen Skin. Das da was im Body fehlt oder so?

------------EDIT-----------------
So die neue Version (0.1.1.0) ist jetze da.
Ich habe den Vorschlag von NEM mit eingebracht/übernommen. Damit jetze alles schön mitscrollt.

in der config.js muss jetze noch folgender Wert ergänzt werden.
Zitat
// E i n s t e l l u n g e n   f ü r   m e n u . j s
var MenueButton = 0; // Ändert die Art des Menü Buttons (0 = Kleiner Menü-Button, 1 = Normaler Menü-Button)
« Letzte Änderung: 18. Mai 2009, 19:08:12 von Dark-Water »

Nem

  • Forenfetischist
  • ****
  • Beiträge: 888
  • Geschlecht: Männlich
    • Profil anzeigen
Re: (Diskussion) Menue.js
« Antwort #19 am: 18. Mai 2009, 23:36:02 »
Hi

Zur Erklärung, warum man Probleme hat wenn nur POSITION:FIXED oder POSITION:ABSOLUTE benutzt wird:

Da die Seiten im IEView zwar aufgebaut werden aber immer bei einer neuen Message erweitert werden,
ist die Seite nie vollständig und somit ergibt sich immer eine neue Position,
POSITION:FIXED und POSITION:ABSOLUTE können die neue Position aber nicht genau erfassen.
Daher kam eine Funktion hinzu, die die neuen Positionen berechnet und die Elemente dort hinsetzt.

Gruß Nem

EDIT:
@Dark-Water
Wenn Du eine neue Version rausbringst, dann poste es einfach mal beim EnteicklungsThread, schaue sonst da zu selten rein. ;)

EDIT2:
@Dark-Water
RemoveChild geht nicht so gut, schau mal meinen Post: http://forum.miranda-im.de/index.php?topic=3837.msg24744#msg24744 und den folgenden
Besser ist da "innerHTML"

@Dark-Water
Wie findest Du das:
http://www.file-upload.net/download-1648119/menue.zip.html
Die TV Auswahl kann man auch ganz schnell von der TV.js bzw. TVStream.js in die Menue.js verschieben. Dann passt das da auch mit rein.
Habe da noch einen TIP für Dich.
Statt visibility:XXX nimm besser manchmal display:XXX, damit werden die Elemente dann nicht nur durchsichtig sondern bekommen auch eine Höhe von 0. Für die Auswahlboxen (Uhr, Animation, TV) ganz gut zu gebrauchen, dann nehmen die kein Platz weg, wenn die nicht sichtbar in der Tabelle sind.
« Letzte Änderung: 19. Mai 2009, 01:31:39 von Nem »

Übersicht über die Java-Skripte: http://mirandanem.mi.funpic.de/



Dark-Water

  • Gast
Re: (Diskussion) Menue.js
« Antwort #20 am: 19. Mai 2009, 14:53:28 »
Ahso ich hab mich schon gewundert warums bei mir funktioniert und bei anderen nicht.

Zu 2:
hm das währe ja für die Anzeige der Uhr möglich. Müsste ich aber bestimmt noch ein bisschen was umbauen.
Mal sehen was ich da mache. Müsste ich nur mal sehen was ich dann im Bezug auf die Animationen mache.

Zu 3:
- den Rahmen würde ich weglassen, damit die Auswahl net zu viel vom Hintergrund überblendet.
- was möchtest du mit weitere Animationen/Uhren ? Soll ich lieber anklickbare Links machen als ein Pull-Down-Menü ?

- Das mit den verschieben hab ich mir auch schon vorgenommen, wollte eh die tvstream noch etwas weiter entschlaken.
- es sollen ja auch noch die TV-Sender in einen INI Datei verschwinden. (FileSystemObject) 8)

@All
wie kann ich denn in einen Aufruf, wie z.b.
document.write('<div id="blabla" onclick="blablaZeigen()">');
bei der klammer blablaZeigen() ein Argument einsetzen ?
ich kann ja kein Hochkomma nehmen und auch kein Anführungszeichen, auch Flash und Backflash hab ich schon probiert, aber ohne Erfolg :(

Nem

  • Forenfetischist
  • ****
  • Beiträge: 888
  • Geschlecht: Männlich
    • Profil anzeigen
Re: (Diskussion) Menue.js
« Antwort #21 am: 19. Mai 2009, 18:39:03 »
@Dark-Water
Mache so wie Du es denkst, was ich halt nur denke: Der Hintergrund wird nur kurzzeitig beim Einstellen überdeckt, daher ist es auch nicht so wichtig wie viel überdeckt wird, da eh in der Zeit keiner darauf achtet was überdeckt wird.
(was für ein sch.. Satz ;) )

Es gibt mehrere "Anführungszeichenarten":

1. Hochkomma '
2. Anführungszeichen "
3. maskiertes Hochkomma \' oder /' (welches genau weißt ich jetzt auch nicht, evtl. geht auch beides)
4. maskiertes Anführungszeichen \" oder /" (welches genau weißt ich jetzt auch nicht, evtl. geht auch beides)

Versuche mal:
document.write('<div id=\"blabla\" onclick=\"blablaZeigen("STRING")\">'); oder halt
document.write('<div id=\"blabla\" onclick=/"blablaZeigen("STRING")/">');

Gruß Nem

Übersicht über die Java-Skripte: http://mirandanem.mi.funpic.de/



Dark-Water

  • Gast
Re: (Diskussion) Menue.js
« Antwort #22 am: 27. Mai 2009, 17:14:31 »
Hat zwar nicht funktioniert, hat mir aber den passenden Denkanstoß gegeben. :) So geht's:

document.write('<div id="blabla" onclick="blablaZeigen(\'STRING\')">');

Also:
1. Hochkomma (')
2. Anführungszeichen (")
3. Maskiertes Hochkomma (\')
4. ??
5. ...

Dark-Water

  • Gast
Re: (Diskussion) Menue.js
« Antwort #23 am: 07. Juni 2009, 17:22:21 »
So die neue Version is draussen.

Menue.js -> 1.1.0.0
TVStream.js -> 2.0.0.0

Wichtiges Änderungen:
- Ausgewählte Animation, Uhr und TVStream wird jetzt in INI Dateien gespeichert und beim erneuten öffnen des Nachrichtenfensters geladen
- TVStreams befinden sich jetze in einer INI Datei, deswegen wird die tv.js nicht mehr benötigt

Nem

  • Forenfetischist
  • ****
  • Beiträge: 888
  • Geschlecht: Männlich
    • Profil anzeigen
Re: (Diskussion) Menue.js
« Antwort #24 am: 07. Juni 2009, 20:48:46 »
@Dark-Water

Hi

Mal so eine Frage nebenbei:
In den INI-Dateien (außer der tvstream.ini) werden dann die gewählten Einstellungen
der jeweiligen JS-Erweiterungen (Uhr, Animation und TV) gespeichert?
Dann könnten die Skripte doch eigenständig die Dateien erzeugen und bräuchten
nicht mit in Deiner *.7z liegen.

Könntest Du die INIs etwas anders "verwalten"?
Sprich so:
[Bereich]
Eigenschaft=Wert

Bei der TVstream.ini kann man dann das so regeln:
[TVStreams]
3D TV (.wmv)=mms://livestream.comsys.de:8080
3. Sat (.wmv)=mms://c36000-l.w.core.cdn.streamfarm.net/36000zdf/live/3546zdf/encoder.zdf.3sat_h_16zu9.wmv
usw.

Wäre dann für die anderen INIs auch benutzbar, denn so könnten diese zu einer zusammen gefasst werden.
Es werden von der Basicfile.js nur die JS eingebunden, daher dürfte es kein Problem darstellen die INIs auch
in das Skript-Verzeichnis zu legen.

EDIT:
Durch die veränderte Verwaltung könnte man auch eine Versionsnummer mit integrieren.

Gruß Nem
« Letzte Änderung: 07. Juni 2009, 21:22:45 von Nem »

Übersicht über die Java-Skripte: http://mirandanem.mi.funpic.de/