WinFuture-Forum.de: [css] Behavior & Absolute Url - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Entwicklung
Seite 1 von 1

[css] Behavior & Absolute Url


#1 Mitglied ist offline   micronax 

  • Gruppe: aktive Mitglieder
  • Beiträge: 152
  • Beigetreten: 11. Juli 06
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Hanau

  geschrieben 31. Januar 2007 - 19:48

Hi, ich brauche für meine HP umbedingt die csshover.htc. Diese habe ich auch schon länger. Früher hat diese auch funktioniert nur, seitdem ich was an der Datei & Ordnerstruktur geändert habe, scheint diese irgendwie nicht mehr im IE geladen zu werden.

Das ganze wird so eingebunden:

Im Header:


<!--[if lt IE 7]>
	<link rel="stylesheet" type="text/css" href="/resources/css/ie6_fix.css">
<![endif]-->


ie6_fix.css:
body { 
	behavior:url("/resources/htc/hover.htc"); 
}



Jetzt scheint der IE anscheinend nicht diesen absoluten Pfad "/resources/htc/hover.htc" zu akzeptieren. Wenn ich den behavior direkt in eine Datei reinsetze, funktioniert es, nur mit der CSS Datei und der Browserweiche nicht. Was ist daran falsch? Gibt es alternativen zu dem absoluten pfad, die massentauglich sind?

Dazu muss ich sagen, das die Website natürlich Unterordner und Unterordner in den Unterordnern hat.

Bin echt am verzweifeln..

Danke & Regards,
Fabian Golle
Micronax Systems

0

Anzeige



#2 Mitglied ist offline   payaso 

  • Gruppe: Mitglieder
  • Beiträge: 13
  • Beigetreten: 13. Januar 07
  • Reputation: 0

geschrieben 31. Januar 2007 - 19:59

Hallo,

Versuchs mit relativen Pfadangaben:

body {
	behavior:url("../../resources/htc/hover.htc");
}


oder

body {
	behavior:url("../htc/hover.htc");
}


Gruss
0

#3 Mitglied ist offline   micronax 

  • Gruppe: aktive Mitglieder
  • Beiträge: 152
  • Beigetreten: 11. Juli 06
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Hanau

geschrieben 31. Januar 2007 - 20:28

Ja, das habe ich natürlich auch schon probiert. Aber da, der Code, den du mir gerade gegeben hast, auch in einem Unterordner ist, funktioniert das nicht. Wenn ich diesen Code jetzt direkt in die Datei setze, und einen relativen Pfad angebe, funktioniert es. Da meine Seite aber aus ca. 1300 Dateien, davon ca. 500 HTML-Dateien besteht, möchte ich jetzt nicht alles per Hand ersetzen. Ich könte natürlich auch ein PHP-Programm dazu bauen, aber es muss doch auch irgendwie so gehen.

Regards,
Micronax
0

#4 Mitglied ist offline   payaso 

  • Gruppe: Mitglieder
  • Beiträge: 13
  • Beigetreten: 13. Januar 07
  • Reputation: 0

geschrieben 31. Januar 2007 - 20:36

häm, der Ordner resources ist doch in beiden Fällen der selbe, oder?
Sollte doch gehen...

behavior:url("../htc/hover.htc");

bedeutet doch ein Schritt nach oben und danach ins htc Unterverzeichnis.

Wo befinden sich denn deine Html-Seiten mit deinem obengenannten Header?

Dieser Beitrag wurde von payaso bearbeitet: 31. Januar 2007 - 20:38

0

#5 Mitglied ist offline   micronax 

  • Gruppe: aktive Mitglieder
  • Beiträge: 152
  • Beigetreten: 11. Juli 06
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Hanau

  geschrieben 31. Januar 2007 - 20:41

LOL. MIr ist schon klar, was das alles bedeutet, aber es funktioniert eben nicht. Das ist ja gerade das komische.

Wenn ich jetzt den Code direkt in die Datei reinsetze:

/index.php
body { 
	behavior:url("resources/htc/hover.htc"); 
}


Dann funktioniert es, es ist ja auch eine direkte relative URI. Sobald das ganze aber noch über den Stylesheet läuft, geht gar nichts mehr (ganz zu schweigen von der absoluten URI)

Ich kapier das nicht, es war früher praktisch genauso, nur das der behavior in der Hauptstyledatei deklariert wurde und zwar gaaanz genauso und mit eine abs. URI. Ich habe praktisch nur die Ordnerstrukturierung geändert und die Browserweichen umgebaut.

EDIT: Die HTML-Dateien (eig. sind es php-dateien) liegen überall. Ein paar im Root, und verdammt viele in unterordnern wie /admin/users oder /users

Senseless..
Micronax

Dieser Beitrag wurde von micronax bearbeitet: 31. Januar 2007 - 20:43

0

#6 Mitglied ist offline   payaso 

  • Gruppe: Mitglieder
  • Beiträge: 13
  • Beigetreten: 13. Januar 07
  • Reputation: 0

geschrieben 31. Januar 2007 - 20:51

Edit: ach vergiss was ich da geschrieben habe... resources liegt im root oder? Müsste gehen, versteh ich auch nicht...

Dieser Beitrag wurde von payaso bearbeitet: 31. Januar 2007 - 20:54

0

#7 Mitglied ist offline   Rika 

  • Gruppe: aktive Mitglieder
  • Beiträge: 11.533
  • Beigetreten: 11. Juni 03
  • Reputation: 2
  • Geschlecht:Männlich

geschrieben 31. Januar 2007 - 20:53

Zitat

<!--[if lt IE 7]>
<link rel="stylesheet" type="text/css" href="/resources/css/ie6_fix.css">
<![endif]-->

Wie du unmittelbar feststellen kannst, wird das auch beim IE7 eingebunden. Irgendwie logisch, denn irgendwelcher Text ändert nicht. Du könntest auch <!--><link ...><!--> verwenden, das geht genauso.
Konnichiwa. Manga wo shitte masu ka? Iie? Gomenne, sonoyouna koto ga tabitabi arimasu. Mangaka ojousan nihongo doujinshi desu wa 'Clamp X', 'Ayashi no Ceres', 'Card Captor Sakura', 'Tsubasa', 'Chobits', 'Sakura Taisen', 'Inuyasha' wo 'Ah! Megamisama'. Hai, mangaka gozaimashita desu ni yuujin yori.
Eingefügtes Bild
Ja, mata ne!

(For sending email please use OpenPGP encryption and signing. KeyID: 0xA0E28D18)
0

#8 Mitglied ist offline   micronax 

  • Gruppe: aktive Mitglieder
  • Beiträge: 152
  • Beigetreten: 11. Juli 06
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Hanau

geschrieben 31. Januar 2007 - 20:55

Ja, aber dann würde das nur im root-ordner funktioniert, und bei den 350 anderen Ordnern müsste ich das auch einstellen. Aber das wird gleich ein schöner kleiner PHP-Script für mich übernehmen, ich probiers noch kurz aus, erfolgmeldung gibts gleich.
0

#9 Mitglied ist offline   micronax 

  • Gruppe: aktive Mitglieder
  • Beiträge: 152
  • Beigetreten: 11. Juli 06
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Hanau

  geschrieben 31. Januar 2007 - 21:23

Das war jetzt meine Rettung:

<?
function ie6fix() {
	$l1 = 'resources/htc/hover.htc';
	$l2 = 'resources/htc/pngbehavior.htc';
	$count = substr_count($_SERVER['REQUEST_URI'], "/");
	$count = $count-1;
	while ($count > 0) {
		$l1 = "../".$l1;
		$l2 = "../".$l2;
		$count--;
	}
	return '<style>body { behavior:url("'.$l1.'"); behavior:url("'.$l1.'"); }</style>';
}
?>


--> ES FUNKTIONIERT!!!
0

#10 Mitglied ist offline   svenner90 

  • Gruppe: aktive Mitglieder
  • Beiträge: 146
  • Beigetreten: 30. Dezember 06
  • Reputation: 0

geschrieben 31. Januar 2007 - 21:34

Aber ich hab noch nicht verstanden, warum du die hover.htc nur einlesen lässt wenn IE benutzt wird...

Mir ist klar, dass sie den :hover-Bug vom IE fixt, aber du kannst die auch immer einlesen, lassen. Es sei denn du willst 2,76KB Traffic sparen :wink:
0

#11 Mitglied ist offline   micronax 

  • Gruppe: aktive Mitglieder
  • Beiträge: 152
  • Beigetreten: 11. Juli 06
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Hanau

geschrieben 31. Januar 2007 - 21:40

Hm, weil ich stolz sein will, eine Seite zu haben, in der ca. 50 selbsterstellte Dateien "includet" werden (ich rede nur von html, css, javascript), ohne das Mozilla auch nur einen einzigsten fehler anzeigt :wink:
0

Thema verteilen:


Seite 1 von 1

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0