![]() |
SELFHTML Forumsarchiv |
|
|
Die folgende Nachricht zum Thema stammt von: peter seliger, 31. 05. 1999, 09:18
diese frage habe ich schon am freitag,den 28/05/ gestellt und keine antwort erhalten -
aber vielleicht, waren die meissten schon im wochenende - deshalb an dieser stelle
noch einmal die formulierung meines problems:
an alle wissenden ...
...ich moechte gerne in erfahrung gebracht haben,
ob es irgendeine JavaScript-moeglichkeit gibt,
alle MSIE-browser ab 4.xx zur preisgabe ihrer
plugin- oder mimeType- informationen zu bewegen...
...noch etwas...
...ab HTML 4.0 soll ja nun das <object>-tag die einbettung
(fast?) aller mime-types uebernehmen - frage: gibt es ein
entsprechendes objekt in JavaScript (oder wird es mal
eins geben), was mir auch eigenschaften und methoden
zur verfuegung stellt wie es bei [embed] als pendant zum
<embed>-tag der fall ist...?...
...immer noch
bin ich auf der suche nach einer www-site,umfassenden referenz
oder sonstigen informationen, die sich mit der steuerung aller
arten von plugins ueber [embed].methode / [embed].eigenschaft
beschaeftigen - !!!!! i-mehls an pseliger@gmx.net erwuenscht !!!!!
---------------------------------------------------------------------
...als dankeschoen gibt es hier ein paar scripte, die sich mit
dem auslesen und anzeigen von mimes und plugins bzw.
dem erkennen von plugins und dem anpassen an einen
alternativen mime-type beschaeftigen...
dankeschoens funktionieren aber alles nur mit NNav ab 2.x
- siehe mein oben beschriebenes problem !!!
//-----------------------erstes dankeschoen---------------------//
//
// name der datei - z.B.: detect_navigatorplugin.htm //
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
<TITLE>detect - navigator.plugin</TITLE>
<script language="JavaScript">
<!--
var plug_anzahl = -1;
var write_String = "Ihr browser kennt das navigator.plugin-objekt nicht !";
if (self.navigator.plugins)
{
plug_anzahl = (navigator.plugins.length);
var plug_name = new Array(top.plug_anzahl);
var plug_filename = new Array(top.plug_anzahl);
var plug_description = new Array(top.plug_anzahl);
}
function PLUGIN_DETECT()
{
if (self.navigator.plugins)
{
PLUGIN_BEGIN();
for (var zaehler = 0;(zaehler < plug_anzahl);++zaehler)
{
plug_name[zaehler] = navigator.plugins[zaehler].name;
plug_filename[zaehler] = navigator.plugins[zaehler].filename;
plug_description[zaehler] = navigator.plugins[zaehler].description;
}
confirm("\nplugin-detect erfolgreich -\n\n Anzahl der plugins: "+self.plug_anzahl+"\n\n\nplugins anzeigen ?\n")
? self.PLUGIN_WRITE() : self.PLUGIN_NO()
}
}
function PLUGIN_WRITE()
{
write_String = write_String+'<br><br><TABLE cols=4 rows='+self.plug_anzahl+' cellspacing="10" cellpadding="0"
border="0">'+
'<tr align="left" valign="top"><td><font size="3" color="#000000"><b>nr</b></font></td><td><font size="3"
color="#000000"><b>plugin-name</b></font></td><td><font size="3" color="#000000"><b>filename</b></font></td><td><font
size="3" color="#000000"><b>description</b></font></td></tr>';
for (var zaehler = 0;(zaehler < self.plug_anzahl);++zaehler)
{
write_String = write_String+'<tr align="left" valign="top"><td align="right"><font size="2"
color="#000000"><b>'+(zaehler + 1)+'</b></font></td><td nowrap><font size="2"
color="#008000"><b>'+plug_name[zaehler]+'</b></font></td><td><font size="1"
color="#808080">'+plug_filename[zaehler]+'</font></td><td><font size="2"
color="#808000">'+plug_description[zaehler]+'</font></td></tr>';
}
write_String = write_String+'</TABLE><br><br>';
self.PLUGIN_END();
}
function PLUGIN_NO()
{
write_String = write_String+'<br><font size="1" color="#800000"><i>keine Eintraege erwuenscht</i><br><br>plugin-detect /
end</font>';
}
function PLUGIN_END()
{
write_String = write_String+'<font size="1" color="#800000">plugin-detect / end</font>';
}
function PLUGIN_BEGIN()
{
write_String = '<font size="1" color="#800000">plugin-detect / begin</font><br>';
}
function AUSGABE()
{
self.document.open('text/html');
// self.document.writeln('<HTML><HEAD><TITLE>plugin(s) - detected</TITLE></HEAD>');
self.document.writeln('<BODY text="#000000" bgcolor="#ffffff">');
self.document.writeln(self.write_String);
self.document.writeln('</BODY>'); //</HTML>');
self.document.close();
}
//-->
</script>
</HEAD>
<script language="JavaScript">self.PLUGIN_DETECT();self.AUSGABE()</script>
</HTML>
//--------------------zweites dankeschoen-----------------//
//
// name der datei - z.B.: detect_mimetypes.htm //
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
<TITLE>detect - mimeType/plugin</TITLE>
<script language="JavaScript">
<!--
var mime_anzahl = -1;
var write_String = "Ihr browser kennt das mimeType-objekt nicht !";
if (self.navigator.mimeTypes)
{
mime_anzahl = (navigator.mimeTypes.length);
var mime_suffixes = new Array(top.mime_anzahl);
var mime_type = new Array(top.mime_anzahl);
var mime_plugenabled = new Array(top.mime_anzahl);
var mime_description = new Array(top.mime_anzahl);
}
function MIME_DETECT()
{
if (self.navigator.mimeTypes)
{
MIME_BEGIN();
for (var zaehler = 0;(zaehler < mime_anzahl);++zaehler)
{
mime_suffixes[zaehler] = navigator.mimeTypes[zaehler].suffixes;
mime_type[zaehler] = navigator.mimeTypes[zaehler].type;
mime_plugenabled[zaehler] = navigator.mimeTypes[zaehler].enabledPlugin;
mime_description[zaehler] = navigator.mimeTypes[zaehler].description;
}
confirm("\nmimeTypes-detect erfolgreich -\n\n Anzahl der mimeTypes: "+self.mime_anzahl+"\n\n\nmimeTypes anzeigen ?\n")
? self.MIME_WRITE() : self.MIME_NO()
}
}
function MIME_WRITE()
{
write_String = write_String+'<br><br><TABLE cols="5" rows='+self.mime_anzahl+' cellspacing="10" cellpadding="0"
border="0" nowrap>'+
'<tr align="left" valign="top"><td nowrap><font size="3" color="#000000"><b>nr</b></font></td><td nowrap><font
size="3" color="#000000"><b>mime-suffixes</b></font></td><td nowrap><font size="3"
color="#000000"><b>mime-type</b></font></td><td nowrap><font size="3" color="#000000"><b>mime has plugin
?</b></font></td><td nowrap><font size="3" color="#000000"><b>description</b></font></td></tr>';
for (var zaehler = 0;(zaehler < self.mime_anzahl);++zaehler)
{
write_String = write_String+'<tr align="left" valign="top"><td align="right" nowrap><font size="2"
color="#000000"><b>'+(zaehler + 1)+'</b></font></td><td nowrap><font size="2"
color="#008000"><b>'+mime_suffixes[zaehler]+'</b></font></td><td nowrap><font size="1"
color="#808080">'+mime_type[zaehler]+'</font></td><td nowrap><font size="2"
color="#008000"><b>'+mime_plugenabled[zaehler]+'</b></font></td><td nowrap><font size="2"
color="#808000">'+mime_description[zaehler]+'</font></td></tr>';
}
write_String = write_String+'</TABLE><br><br>';
self.MIME_END();
}
function MIME_NO()
{
write_String = write_String+'<br><font size="1" color="#800000"><i>keine Eintraege erwuenscht</i><br><br>mimeTypes-detect
/ end</font>';
}
function MIME_END()
{
write_String = write_String+'<font size="1" color="#800000">mimeTypes-detect / end</font>';
}
function MIME_BEGIN()
{
write_String = '<font size="1" color="#800000">mimeTypes-detect / begin</font><br>';
}
function AUSGABE()
{
self.document.open('text/html');
// self.document.writeln('<HTML><HEAD><TITLE>mimeType(s) - detected</TITLE></HEAD>');
self.document.writeln('<BODY text="#000000" bgcolor="#ffffff">');
self.document.writeln(self.write_String);
self.document.writeln('</BODY>'); //</HTML>');
self.document.close();
}
//-->
</script>
</HEAD>
<script language="JavaScript">self.MIME_DETECT();self.AUSGABE()</script>
</HTML>
//--------------------zweites dankeschoen-----------------//
//
// name der datei - z.B.: detect_mimetypes.htm //
//
// in diesem bsp. muesst Ihr Euch selbst um eine
// passende flash animation und um ein alternatives
// animiertes gif kuemmern, wenn ihr das script in
// richtiger aktion erleben wollt !!!
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
<TITLE>detect - embed</TITLE>
<script language="JavaScript">
<!--
// <embed>xxx</embed> bindet media-daten direkt in eine seite ein
// </noembed>xxx</noembed> soll dabei browsern, die <embed>xxx</embed>
// nicht verstehen , die moeglichkeit geben ,
// andere datenquellen einzubinden.
// das ist aber zu kurz gedacht,und funktioniert in den ungluecklichen
// faellen nicht,wo der browser zwar <embed>xxx</embed> versteht, aber
// [1]weder das richtige plugin existiert und/oder [2]das PLUGINobjekt
// nicht verstanden wird.
//
// [1] hier wird einfach ein platzhalter angezeigt und die moeglichkeit
// offeriert, das fehlende plugin aus dem netz runterzuladen - runter-
// laden funktioniert nur, wenn in <embed PLUGINSPAGE="url.. ></embed>
// die richtige seite angegeben wurde oder ueberhaupt an diesen para-
// meter gedacht wurde
//
// [2] es gibt browser z.B.:[NN2.xx],die zwar <embed>xx</embed> verstehen,
// aber nicht faehig sind,den browser auf ein bestimmtes plugin hin zu
// ueberpruefen - denn sie verstehen das PLUGINobjekt nicht, und damit
// steht keine methode zur verfuegung, auf dieses objekt zuzugreifen
//
// [Loesung 1] bei fehlendem plugin wird der passende platzhalter (z.B.:grafik)
// durch ein script an die urspruengliche <embed>xxx</embed>-stelle
// gemogelt -nachteil: wird durch [2] eingeschraenkt
//
// [Loesung 1&&2] geplantes script in [Loesung 1] wird durch einen geniestreich
// erweitert, so dass in allen ungluecksfaellen platzhalter und die
// moeglichkeit zum downloaden angezeigt werden.
//
// feelfree to copy
// pseliger@gmx.net
var einbetten = '<img src="embeded/spirale.gif" width="200" height="200" name="SPIRALE_GIF" alt="spirale - animated gif /
default in case of no ShockWaveFlash-Plugin"><br>'+
'<font face="arial" size="1" color="#800000">leider kein ShockWaveFlash-plugin !<br><font color="#008000">nun muss ein
animiertes gif herhalten !</font><br>'+
'<font color="#0000ff"><u><a href="plugins/95nt_swflash.exe">free download - win95/nt</a></u><br><u><a
href="plugins/ppc_swflash.exe">free download - mac_os</a></u></font></font>';
if (self.document.plugins)
{
var SWF = navigator.plugins["Shockwave Flash"];
alert("\nSWF = "+SWF+"\n")
if (SWF)
{
einbetten = '<embed src="embeded/spirale.swf" height="200" width="200" name="SPIRALE_SWF" title="spirale -
ShockWaveFlash / created with MacromediaFlash" palette="background"></embed><br>'+
'<font face="arial" size="1" color="#008000">glueckwunsch - ShockWaveFlash-plugin vorhanden !</font>';
}
}
//-->
</script>
</HEAD>
<BODY bgcolor="#ffffff" text="#000000" link="#008000" vlink="#008000" alink="#ff0000">
<script language="JavaScript">self.document.writeln(einbetten);</script>
</BODY>
</HTML>
-------------------------------------------------------------------------------------------------------------------------------
das waren die dankeschoens / jetzt warte ich auf post /by(t)e by(t)e pseliger@gmx.net
Die folgende Nachricht zum Thema stammt von: Stefan Muenz, 31. 05. 1999, 11:48
Hallo Peter
»» ...ich moechte gerne in erfahrung gebracht haben,
ob es irgendeine JavaScript-moeglichkeit gibt,
alle MSIE-browser ab 4.xx zur preisgabe ihrer
plugin- oder mimeType- informationen zu bewegen...
Nachdem er das plugins-Objekt nicht kennt, sieht es da schlecht aus. Du koenntest hoechstens versuchen, ein Java-Applet zu schreiben, das dies erkennt (ich kann dir aber leider nicht sagen, ob es in Java entsprechende Klassen gibt), und dann mit JavaScript auf die Informationen des Applets zuzugreifen (vgl. ../../tecbbc.htm#a3).
»» ...ab HTML 4.0 soll ja nun das <object>-tag die einbettung (fast?) aller mime-types uebernehmen - frage: gibt es ein entsprechendes objekt in JavaScript (oder wird es mal eins geben), was mir auch eigenschaften und methoden zur verfuegung stellt wie es bei [embed] als pendant zum <embed>-tag der fall ist...?
Gute Frage! Bislang kenne ich keines, aber vielleicht ja sonst jemand?
Mit so einem "Killerobjekt" wie "all" beim MSIE kann man zwar einiges deixeln, z.B. Parameter dynamisch austauschen und Tag-Attribute aendern, aber ein spezifisches "Multimedia-Objekt", das sich auf das <object>-Tag bezieht und nicht auf das proprietaere <embed>, waere sicher besser.
viele Gruesse
Stefan Muenz
Die folgende Nachricht zum Thema stammt von: Timo Ballin, 31. 05. 1999, 12:57
Schau dir mal bei www.Macromdia.com das script vom main-frame an(also das frameset) die basteln über VBScript eine flash-Plugin detection, die je nach ergebniss das framset dynamisch schreibt. Warum dieses Script nicht bei den Macromedia support seiten steht weis ich auch nicht.
Theoretisch sollte man das problemlos abwandeln können - ich habe aber von VBScript nicht die grosse ahnung. Vielleich hilft dir das Script trotzdem weiter.
timo
© 1998-2006
Impressum, Software: Classic Forum