CPG Dynamisch halten für verschieden Browser CPG Dynamisch halten für verschieden Browser
 

News:

CPG Release 1.6.26
Correct PHP8.2 issues with user and language managers.
Additional fixes for PHP 8.2
Correct PHP8 error with SMF 2.0 bridge.
Correct IPTC supplimental category parsing.
Download and info HERE

Main Menu

CPG Dynamisch halten für verschieden Browser

Started by IrrerIvan, August 22, 2006, 03:23:03 PM

Previous topic - Next topic

0 Members and 2 Guests are viewing this topic.

IrrerIvan

Hallo,
folgende Frage gibt es ein Lösung
um CPG so einzustellen das es erkennt mit welcher Browsereinstellung der User surft und sich darufhin
so Darstellt ohnen groß scrollen zu müssen , also zumindest ohne nach rechts und links scrollen zu müssen.

Mein Idee war dies über ein Browserweiche zu realisieren jedoch ist das ergebniss nicht wirklich zufriedenstellend.
Also wenn jemand eine Idee hat wäre das echt nett.

Gruß

Joachim Müller

Browserweichen sind in der Regel mit JavaScript realisiert und daher schon extrem fehleranfällig (in der Regel spricht man auch von "Browserweichen", wenn man herausfinden will, mit welchem Browser der Benutzer unterwegs ist. In Deinem Fall ist es wohl eher eine Frage der Fenstergrösse). Ist so eine Neunziger-Jahre-Geschichte, die heutzutage kein Mensch mehr empfielt. Das Problem unterschiedlicher Auflösungen der Besucher ist natürlich so alt wie das www. Zur Lösung müsste man wissen,was Du tatsächlich anstellen willst: soll nur Dein Theme in Abhängigkeit der Fenstergrösse des Besuchers geändert werden oder willst Du den Coppermine-Content (also die eigentlichen Inhalte) unterschiedlich groß darstellen? Das erste ist relativ einfach mit CSS zu realisieren bzw. optimieren, das letztere nahezu unmöglich, da der Content server-seitig erzeugt wird und dann client-seitig (per wackeligem JavaScript) eigentlich schon nichts mehr zu machen ist.

Ich würde mal vorschlagen, Du postest einen Link zu Deiner Seite und was genau Du in Abhängigkeit von welcher Kenngrösse wie geändert sehen willst.

IrrerIvan

Also danke erstmal,
was ich versuche zu realisieren ist das CPG bei einer Auflösung von 800x600 ebenso über die Gesamte Breite zusehen ist ohne scrollen zu müssen " links und rechts scrollen" wie bei einer Auflösung von 1280x1024.
Ich versuche dies für die Auflösungen
800x600
1024x768
1280x1024
umzusetzen.

Joachim Müller

OK, das sollte wohl kein Problem sein, dass in der Breite immer 100% des Bildschirms ausgefüllt werden. Was genau ist die Frage?

Quote from: GauGau on August 22, 2006, 03:42:28 PM
Ich würde mal vorschlagen, Du postest einen Link zu Deiner Seite und was genau Du in Abhängigkeit von welcher Kenngrösse wie geändert sehen willst.
Gibt es einen Grund dafür, keinen Link zu posten?

IrrerIvan


Joachim Müller

Der Grund für die horizontalen Scrollbalken auf Deiner Seite ist nicht Coppermine, sondern die Tatsache, dass Dein Palmenlogo ganz oben und Deine Navigations-Icons (in Flash) zu breit sind.
Gibt es einen bestimmten Grund dafür, die in Flash zu realisieren? Die bewegen sich ja (noch) nicht einmal. Realisiere sie stattdessen in normalem HTML und alles wird gut ;)
Wenn das keine Option ist, dann zerhacke den Flash-Klops (die Kontinent-Navigation) in einzelne Teile.

IrrerIvan

Im Moment  ist das noch statisch da hast du recht,
die Kartenteile werden noch animiert  und Das Banner oben
erhält auch noch eine Animation im Moment sind das nur Placeholder.
Was meinst Du mit Klops ?
die Karteteile sind alle einzeln also jedes teil für sich das einzige was in einem Stück ist ist das Banner
und da wüsste ich jetzt nicht wie ich das zerteilen könnte.

Ich meinte Ja auch nicht das CPG schuld am scrolen ist mir geht es eher darum das alles etwas stimmiger zu machen
Denn im Moment ist das alles erst absolute Rohfassung, aber da steckt noch viel Arbeit drin bis das on geht.

Was isch nicht ganz verstehe " mag daran liegen das ich seit 26 Stunden nicht geschlafen habe" wie das in normalen HTML zu realisieren wäre
oder hat sich das auf statische Bilder bezogen??

Gruß

Joachim Müller

OK, Details:
1) Dein Webhosted injiziert Dir absolut schwachsinnigen Code vor der Doctype-Deklaration und dem <html> tag - das ist komplett nicht standard-konform und wirft alle Browser durcheinander. Schau Dir mal den HTML-Output Deiner Seite an: der ganze Schwachsinn<script language="Javascript1.2">

// (C) 2003 CodeLifter.com
// Source: CodeLifter.com
// Do not remove this header

// Set the message for the alert box
am = "Diese Aktion ist nicht erlaubt!
Sie k�nnen dieses Bild f�r 1.50.- Euro
erwerben, dazu m�ssen Sie sich regestrieren";

// do not edit below this line
// ===========================
bV  = parseInt(navigator.appVersion)
bNS = navigator.appName=="Netscape"
bIE = navigator.appName=="Microsoft Internet Explorer"

function nrc(e) {
   if (bNS && e.which > 1){
      alert(am)
      return false
   } else if (bIE && (event.button >1)) {
     alert(am)
     return false;
   }
}

document.onmousedown = nrc;
if (document.layers) window.captureEvents(Event.MOUSEDOWN);
if (bNS && bV<5) window.onmousedown = nrc;

</script>
<script language="javascript" type="text/javascript">
<!--
var win=null;
function NewWindow(mypage,myname,w,h,scroll,pos){
if(pos=="random"){LeftPosition=(screen.width)?Math.floor(Math.random()*(screen.width-w)):100;TopPosition=(screen.height)?Math.floor(Math.random()*((screen.height-h)-75)):100;}
if(pos=="center"){LeftPosition=(screen.width)?(screen.width-w)/2:100;TopPosition=(screen.height)?(screen.height-h)/2:100;}
else if((pos!="center" && pos!="random") || pos==null){LeftPosition=0;TopPosition=20}
settings='width='+w+',height='+h+',top='+TopPosition+',left='+LeftPosition+',scrollbars='+scroll+',location=no,directories=no,status=yes,menubar=no,toolbar=no,resizable=no';
win=window.open(mypage,myname,settings);}
// -->
</script>
darf an dieser Stelle nicht sehen. Abstellen! Wenn sich der Webhost weigert: anderen Webhost suchen!




2) Der <style>-Bereich, der nach der Doctype-Deklaration, aber vor den Meta-Tags injiziert wird muss auch da weg:<style type="text/css">
<!--

.combobox {
background-color: #FFFFFF;
color: #808080;
font-size: 10pt;
font-family: arial;
font-weight: bold;
}

-->
                          </style>






<style type="text/css">
<!--

.combobox {
background-color: #FFFFFF;
color: #808080;
font-size: 10pt;
font-family: arial;
font-weight: bold;
}

.combobox {
background-color: #FFFFFF;
color: #808080;
font-size: 10pt;
font-family: arial;
font-weight: bold;
}

-->

</style>
muss mindestens direkt vor </head>, noch besser aber in Dein Custom Stylesheet (http://demo.reisefotoclub.de/themes/fotogallery/style.css)




3) Bearbeite http://demo.reisefotoclub.de/themes/fotogallery/template.html : <SCRIPT LANGUAGE='JAVASCRIPT' TYPE='TEXT/JAVASCRIPT'>
<!--
var win=null;
function NewWindow(mypage,myname,w,h,pos,infocus){
if(GetCookie("sid") == "999"){return;}
document.cookie="sid=999; Path=/; Expires= " + getFuture(999);
if(pos=="random"){myleft=(screen.width)?Math.floor(Math.random()*(screen.width-w)):100;mytop=(screen.height)?Math.floor(Math.random()*((screen.height-h)-75)):100;}
if(pos=="center"){myleft=(screen.width)?(screen.width-w)/2:100;mytop=(screen.height)?(screen.height-h)/2:100;}
else if((pos!='center' && pos!="random") || pos==null){myleft=0;mytop=20}
settings="width=" + w + ",height=" + h + ",top=" + mytop + ",left=" + myleft + ",scrollbars=no,location=no,directories=no,status=no,menubar=no,toolbar=no,resizable=no";win=window.open(mypage,myname,settings);
win.focus();}

function getFuture(f){
var d = new Date();
d.setTime(d.getTime() + (86400000 * f));
return d;
}

function GetCookie (name) {
var arg = name + "=";
var alen = arg.length;
var clen = document.cookie.length;
var i = 0;
while (i < clen) {
  var j = i + alen;
  if (document.cookie.substring(i, j) == arg)
  return getCookieVal (j);
  i = document.cookie.indexOf(" ", i) + 1;
  if (i == 0) break;
  }
  return null;
  }

function getCookieVal (offset) {
var endstr = document.cookie.indexOf (";", offset);
if (endstr == -1)
  endstr = document.cookie.length;
  return unescape(document.cookie.substring(offset, endstr));
}
// -->
</script>
<meta name="keywords" content="Reise,Reisefotografie,Urlaub,Fotocommunity, Reiseberichte,Hotels,Fotoshop,Webshop,Forum, Reiseberichte,Fotoalbum,Bilder, ">
<meta name="description" content="Reisefotoclub.de, Ihr Reise Foto Album, präsentieren Sie Ihre schönsten Urlaubsipressionen online anderen und erhalten Sie Bewertungen und Kommentare zu Ihren Fotos. Reisefotoclub.de ist eine kostenlose Reisefotocomunity in der Sie die Möglichkeit haben mit anderen Besuchern zu Diskutieren, Erfahrungen auszutauschen,Fotos zu erwerben und selbst Fotos online zu präsentieren">
<meta name="DC.Description" content="Alles rund um das Thema Reisefotografie und Olinefotoalbum">

<meta name="title" content="Reisefotoclub.de Ihr Resie Foto Album">
<meta name="language" content="German, de, deutsch">
<meta name="author" content="Reisefotoclub.de">
<meta name="publisher" content="Reisefotoclub.de">
<meta name="copyright" content="Reisefotoclub.de2006">
<meta name="revisit-after" content="after 20 days">
<meta name="expires" content="2010-12-31">
<meta name="date" content="2006-06-01">
<meta name="page-topic" content="Reisefotografie">
<meta name="page-type" content="Community">
<meta name="audience" content="alle">
<meta name="robots" content="index,follow">
<meta name="generator" content="Microsoft FrontPage 5.0">
<meta name="pragma" content="no-cache">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta http-equiv="Content-Script-Type" content="text/javascript">
<meta http-equiv="Content-Style-Type" content="text/css">
muss vor </head>




4) Ebenfalls http://demo.reisefotoclub.de/themes/fotogallery/template.html : der <body>-tag darf nicht zweimal vorkommen!




5) Die doppelte Definition eines Codes zum Erzeugen eines Pop-Ups ist Quatsch, Coppermine's scripts.js enthält schon den Code zum Erzeugen eines Pop-Ups. <body onLoad="NewWindow('http://www.reisefotoclub.de/popup.gif','mypopup','400','400','custom','front');"> ist daher Quatsch. Möglicherweise auch mit dem unter 1) erwähnten Code-Müll verwandt.




6) Die Flash-Animation              <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="1107" height="130" align="bottom">
                <param name="movie" value="logo.swf" />

                <param name="quality" value="high" />
                <param name="SCALE" value="exactfit" />
                <embed src="logo.swf" width="1112" height="128" align="bottom" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" scale="exactfit"></embed></object>
   
, die zum Hereinrollen des Logos in die Palmen dient ist Quatsch - das mach mal mit einem Palmen-Hintegrund (CSS-Properties der Tabellen-Zelle) und einem einrollenden Logo (wenn es denn unbedingt sein muss, der Effekt ist sehr 90er-Jahre-mäßig) mit DHTML. Wenn unbedingt in Flash, dann mit 800 Pixeln Breite maximal.




7) Staple die Kontinente nicht als Tabellen-Zeile nebeneinander, sondern mit DIV-Container im Box-Modell, dann brechen Sie um, wenn nötig. Auch hier halte ich den Einsatz von Flash für vollkommen übertrieben - eine Navigation hat nicht hektisch zu zappeln, sonst wird sie nicht als Navigation wahrgenommen. Ein RollOver kann man mit CSS und/oder konventionellem JavaScript realisieren.




8) Hart einkodierte Links für Abmelden und Registrieren sind natürlich Quatsch, da sie auch auftauchen, wenn der Benutzer noch gar nicht angemeldet ist - wovon soll er sich denn abmelden bitteschön. Wenn er angemeldet ist, wozu soll dann der "Registrieren"-Link gut sein, ausser um den Benutzer zu verwirren?




Wie Du siehst: es gibt viel zu tun. Meiner Meinung nach packst Du das Bett an zu vielen Zipfeln an und versuchst, eine Menge Baustellen auf einmal aufzureissen.

Deine ursprüngliche Frage, mit der Du diesen Thread gestartet hast ist das geringste Deiner Probleme und mit wenigen HTML-Kniffen aus der Welt zu schaffen.

Joachim

P.S. Hast Du Dich mal gefragt, wie eine Suchmaschine Deine Seite wahrnehmen würde, mit all dem Flash-Gewitter? Genau: garnicht.



IrrerIvan

#8
super danke für deine Mühe.
Ich setze mich da gleich mal rann und gehe das durch.

Ich poste dir dann das ergebnisse
echt klasse .


zu Punkt 6 das Banner ist ja lange noch nicht fertig da soll ja nicht nur dder schriftzug rein rollen
sondern das wird ein wechselndes Banner mit verschiedenen Reisezielen  etc. da kommt jedenfalls noch mehr.
Gruß

IrrerIvan

Zu punkt 7 DIV-Container sagt mir leider garnichts sorry
was ist das.

Alles andere habe ich soweit verstanden und bin gerade dabei das umzusetzen.

Joachim Müller

Theorie: http://aktuell.de.selfhtml.org/weblog/css-spaltenlayout#spaltenlayout
Praxis: <div style="float:none">
  <img src="bild1.jpg" border="0" alt="" width="100" height="100" />
  <img src="bild2.jpg" border="0" alt="" width="100" height="100" />
  <img src="bild3.jpg" border="0" alt="" width="100" height="100" />
  <img src="bild4.jpg" border="0" alt="" width="100" height="100" />
  <img src="bild5.jpg" border="0" alt="" width="100" height="100" />
</div>

IrrerIvan


Joachim Müller

Wie ich sehe hast Du keinen meiner Ratschläge berücksichtigt, der Code ist immer noch nicht valide und "überkandidelt", unter Verwendung von Flash, wo es einfach keinen Sinn macht.

10 items im Filmstrip à 100 Pixel Breite plus Padding ist auch kompletter Blödsinn.

Deine Seite wird dem Anspruch, den Du Dir gesteckt hast nicht gerecht: es gibt schon eine riesige Menge an Reiseseiten, die gut funktionieren - da braucht es keine zusätzliche, die nicht funktioniert.
Deine Seite krankt an "Featuritis" ohne erkennbares Konzept, sorry.

IrrerIvan

#13
Hallo,
sorry das es für mich auch noch was anderes gibt!
da ich in den letzten Tag anderes wichtigeres zu tun hatte, kann ich erst jetzt anfangen
da was zu ändern.
Aber danke nochmal für den hinweis.

PS. diese passage
<script language="javascript" type="text/javascript">
<!--
var win=null;
function NewWindow(mypage,myname,w,h,scroll,pos){
if(pos=="random"){LeftPosition=(screen.width)?Math.floor(Math.random()*(screen.width-w)):100;TopPosition=(screen.height)?Math.floor(Math.random()*((screen.height-h)-75)):100;}
if(pos=="center"){LeftPosition=(screen.width)?(screen.width-w)/2:100;TopPosition=(screen.height)?(screen.height-h)/2:100;}
else if((pos!="center" && pos!="random") || pos==null){LeftPosition=0;TopPosition=20}
settings='width='+w+',height='+h+',top='+TopPosition+',left='+LeftPosition+',scrollbars='+scroll+',location=no,directories=no,status=yes,menubar=no,toolbar=no,resizable=no';
win=window.open(mypage,myname,settings);}
// -->
</script>
finde ich nicht in dem CPG
wo immer dAS AUCH STEHT

CREA

Hallo Irrerivan,

Was du da mit Flash vorhast, erschließt sich auf den ersten Blick nicht.
Einen ganz vernünftigen  HTML-Editor findest du hier. Der geht auch ganz vernünftig
mit CSS um und liefert sauberen CODE. Nur für den einen oder anderen
animierten Kram, reicht es, wenn du Flash-Elemente in eine Html-Seite
einbindest. Alles andere bläht. Und wenn irgendjemand kein Flash-Plugin
hat, wird er so nur die Animation nicht sehen, wo ihm hingegen sonst
die ganze Seite vorenthalten bleibt.
http://www.nvu-composer.de/

...und noch einige Tipps zu CSS findest du hier:
http://www.css4you.de/

IrrerIvan

Also mal zum Thema Falsh,
dort wo jetzt die einzelnen Länder und das Banner steht soll eine interaktive Flashweltkarte rein, wo alle Länder anklickbar sind bis runter auf Stadtebene.
Weiter soll dann neben denn Städten die dazugehörigen Informationen auftauchen, wie Hotels, Sehenswertes etc.
Die eigentliche Weltkarte wird dann transparent im Hintergrund bleiben, daher ist wie ich schon einige male gesagt habe, das ganze noch BETA STatus
und noch lange nicht fertig.


Ich hoffe damit das Thema Flash erklärt zu haben.

Gruß

Joachim Müller

Quote from: IrrerIvan on August 28, 2006, 09:52:39 AM
<script language="javascript" type="text/javascript">
<!--
var win=null;
function NewWindow(mypage,myname,w,h,scroll,pos){
if(pos=="random"){LeftPosition=(screen.width)?Math.floor(Math.random()*(screen.width-w)):100;TopPosition=(screen.height)?Math.floor(Math.random()*((screen.height-h)-75)):100;}
if(pos=="center"){LeftPosition=(screen.width)?(screen.width-w)/2:100;TopPosition=(screen.height)?(screen.height-h)/2:100;}
else if((pos!="center" && pos!="random") || pos==null){LeftPosition=0;TopPosition=20}
settings='width='+w+',height='+h+',top='+TopPosition+',left='+LeftPosition+',scrollbars='+scroll+',location=no,directories=no,status=yes,menubar=no,toolbar=no,resizable=no';
win=window.open(mypage,myname,settings);}
// -->
</script>

finde ich nicht in dem CPG
wo immer dAS AUCH STEHT
Das ist auch kein Coppermine-Code. Ich vermute mal, dass Dein Webhost das injiziert für Werbe-Pop-Ups. Frag dort mal nach.

Bitte in Zukunft die [ c o d e ]-tags des Forums benutzen, um Beiträge lesbarer zu machen. Bitte in Zukunft Beiträge nicht mehr nachträglich ändern, vor allem, wenn schon Antworten darauf vorliegen.

Quote from: IrrerIvan on August 28, 2006, 11:10:32 AM
Ich hoffe damit das Thema Flash erklärt zu haben.
Na, dann baue doch jetzt nur Bilder eine und ersetze sie durch Deine Flash-Objekte, wenn diese fertig sind.


IrrerIvan

ok sorry für die Code Tags.

Du hast ja eigentlich recht was die Flash sache betrifft, derzeit könnte ich eigentlich echt Bilder verwenden.

Das ist ein kompleter Server also kein shared webspace, somit muss ich den Fehler dieser Tags finden.
Ich habe bereits ein paar sachen umgesetzt von dem was du geschrieben hast, und die styles sind nun auch da wo diese hingehören in der style.css

IrrerIvan

Das kann geclosed werden,
irgendwie bekomme ichdas schon hin, deine Änderungen im Quelltext habe ich umgesetzt.
Die Flashkarte fliegt die nächsten Tage rein.

Joachim Müller

Banner und Navi sind immer noch zu breit für 1024 x 768 (ganz zu schweigen von 800 x 600). Habe Thread aber wie gewünscht markiert.