codesnippet an ein bestehendes dokument attachen?
sascha
- javascript
0 Danny0 sascha0 Sven Rautenberg0 sascha
0 Danny
hi leute...
mal eine frage zu java-script:
ich habe hier eine ausgelagerte *.js datei, welche alle meine javascript-snippets enthält, die ich so in meiner publikation benötige. nun würde ich gerne z.b. die browserabfrage in dieses dokument auslagern, und durch den onLoad-Handler testen lassen, welcher browser benutzt wird und dem ergebnis entsprechend auf ein browserspezifisches css linken. zu diesem zweck sollte halt mit write oder so der link-tag in das aktuelle dokument geschrieben werden...
doch anstelle des anhängens überschreibt write das gesamte dokument...:-(
schnipp (js)
.....................
function ScheggIt()
{
if((navigator.appName.indexOf("Expl") >= 0))
{
document.write('<link rel=stylesheet href="../css/IE.css" type="text/css">');
}
if((navigator.appName.indexOf("Nets") >= 0))
{
document.write('<link rel=stylesheet href="../css/NN.css" type="text/css">');
}
if((navigator.appName.indexOf("Oper") >= 0))
{
document.write('<link rel=stylesheet href="../css/OP.css" type="text/css">');
}
}
.........................
schnapp
funzt nicht...
irgendjemand ne idee, wie ich das problem lösen könnte? gibt´s da ne spezielle funktion, die sowohl im ie als auch im nn funktioniert?
thx i a
sascha
Tach auch,
Du solltest das write in den Header setzen, dann müßte es funzen. Wenn Du es ausgelagert hast, einfach den link auf das externe js in den header und darunter notieren:
<script language=javascript>
<!--
checkBrowser();
if(ns4) document.write etc.
//-->
</script>
Viel Erfolg,
Danny
dank dir erstmal, allerdings scheint mir das nicht ganz zu helfen...:(
ich würde ja dies gerne verhindern, und möglichst modular arbeiten. wenn ich nur einen einzigen funktionsaufruf starte, und der rest in einem externen script ausgelagert ist, spart das platz und lässt sich viel besser handeln, falls es zu korrekturen kommt (ich kann ja nicht jedesmal den headbereich von x-seiten ändern, wäre ja irrsinn)...
irgendeine weitere idee oder kristallisiert sich heraus, das dies ein hirngespinst von mir ist...?
:-)
dank
sascha
Moin!
ich würde ja dies gerne verhindern, und möglichst modular arbeiten. wenn ich nur einen einzigen funktionsaufruf starte, und der rest in einem externen script ausgelagert ist, spart das platz und lässt sich viel besser handeln, falls es zu korrekturen kommt (ich kann ja nicht jedesmal den headbereich von x-seiten ändern, wäre ja irrsinn)...
irgendeine weitere idee oder kristallisiert sich heraus, das dies ein hirngespinst von mir ist...?
:-)
Allgemein gesehen ist deine Idee schon recht gut. Konkret auf dein Problem mit den CSS-Dateien bezogen ist deine Lösung nicht wirklich optimal.
Wenn du für ältere Browser (namentlich: Netscape 4) ein vereinfachtes CSS einbinden willst, dann verwende die Methoden, wie sie in http://aktuell.de.selfhtml.org/tippstricks/css/browserweiche/index.htm beschrieben sind.
Wenn du deine Schriftgrößen in px und nicht in pt definierst, dann sind die Schriftarten auch auf dem Mac gleich groß wie auf dem PC - genauer gesagt: Sie sind dann auf allen Systemen gleich groß (natürlich abhängig von der tatsächlichen Auflösung, der Bildschirmgröße etc.), egal welche DPI-Zahl das System kennt (PC normal: 96 dpi, Mac: 72 dpi - aber alle sind grundsätzlich frei einstellbar). Mehr Unterschiede gibt es zwischen den Mac- und PC-Stylesheets eigentlich nicht.
- Sven Rautenberg
hi...
dank an euch fÃr die statements, ich werde mich mal mit beiden hinweisen beschÃftigen...
;-)
sascha
Bitte.
Mhmmm... Ich wüßte da was. Das Problem ist ja, daß Du bei Onload eine Funktion aufrufen willst, die write-Anweisungen enthält.
Eine saubere Lösung wäre, die write Anweisungen direkt beim Laden des Head auszuführen. Wenn das externe JS dort eingebunden wird, ist das kein Problem, du mußt die Browser-Abfrage am Anfang der JS-Datei aufrufen. Wenn versch. Abfragen im Spiel sind, kannst Du die Möglichkeiten in seperate JS auslagern und je nach Bedarf im Head verlinken.
Es gibt noch eine Möglichkeit, das wäre allerdings ein Hack. Im Onload rufst Du eine Funktion auf, die per DOM-Funktionen die CSS-Styles dynamisch lädt, bzw. ändert...
Gruß und schönes Wochenende,
Danny