Latest News per JavaScript abhängig von der Auflösung

Hier können allgemeine Fragen zu HTML und CSS gestellt und diskutiert werden.
Benutzeravatar
Eichi
ConPresso-Checker
Beiträge: 133
Registriert: 17.08.2005 13:14
Hat sich bedankt: 24 Mal
Danksagung erhalten: 8 Mal

Latest News per JavaScript abhängig von der Auflösung

Beitrag von Eichi »

Ich bastel gerade ein wenig mit JavaScript rum. Da ich noch nie der "Coder" oder "Scripter" war, gehe ich entsprechend naiv an die Geschichte herran. Kurz zur Erklärung was ich möchte: Rechts in meiner Webseite möchte ich die letzten 20 Blogeinträge darstellen lassen, jedoch nur wenn der Leser die Auflösung 1280x1024 nutzt. Das Resultat kann man schon auf meiner Webseite sehen - www.pixelleben.de (natürlich nur wenn man 1280 laufen hat *gg*)

Jedoch habe ich schon immer das Problem, das wenn ich Latest News per PHP includen lasse die Links eine PHPSESSID haben und daher nicht korrekt funktionieren. Per JavaScript ist dies nicht der Fall, jedoch komm ich hier an meine Grenzen und bekomme es nicht korrekt realisiert.

Hier mein Code:

Code: Alles auswählen

<script type="text/javascript">
var breite = screen.width;
if (breite >= 1280)
document.write('<td valign="top" style="font-size: 8pt"><br><br> <?php include("http://www.pixelleben.de/mod_latest_news/index_php.php?profid=1"); ?> </td>');
else
if (breite >= 1024)
document.write('&nbsp;');
</script>
Bitte nicht über die Ausführung lachen, wie gesagt, ich bin kein Held auf diesem Gebiet und habs eher mit Design. ;)

Vielleicht kann mir jemand helfen das ich

Code: Alles auswählen

<script language="JavaScript" type="text/javascript" src="http://www.pixelleben.de/mod_latest_news/index_js.php?profid=1"></script>
statt

Code: Alles auswählen

<?php include("http://www.pixelleben.de/mod_latest_news/index_php.php?profid=1"); ?>
verwenden kann ?
pixel&leben - Er fand einen neuen Kunstbegriff - damals, als er Kunst begriff.
Benutzeravatar
Matthias V
Modul-Entwickler
Beiträge: 1251
Registriert: 01.01.1970 02:00
Wohnort: Sondershausen
Hat sich bedankt: 54 Mal
Danksagung erhalten: 147 Mal

Beitrag von Matthias V »

Hallo Eichi,

ich würde nach window.innerWidth abfragen, da das der wirklich angezeigte Bereich ist. Es interessiert ja nicht, wie groß der Bildschirm ist, sondern wie groß der Browser gezogen ist.
http://de.selfhtml.org/javascript/objek ... nner_width

Wen du es per PHP-Include machen möchtest, dann müsste die Fensterbreite per PHP-abgerufen werden und nicht per javascript.
Aber ich weiß nicht so richtig, wie man die Bildschirmgröße bzw. die Browsergröße per PHP abfragt.

Gruß Matthias V
mod_Guestbook 4.1.0

Features:
- Einträge als ConPresso-Artikel
- benutzt Templates, Rubriken, ...
- Captcha
- BB-Code + Smilies + Zitieren
- Badwords
- Anonymisierung
Benutzeravatar
Eichi
ConPresso-Checker
Beiträge: 133
Registriert: 17.08.2005 13:14
Hat sich bedankt: 24 Mal
Danksagung erhalten: 8 Mal

Beitrag von Eichi »

Gerade den php-include möchte ich ja umgehen, um die PHPSESSID loszuwerden. ;)

Quasi:

Code: Alles auswählen

<script type="text/javascript"> 
var breite = screen.width; 
if (breite >= 1280) 
document.write('<td valign="top" style="font-size: 8pt"><br><br> <script language="JavaScript" type="text/javascript" src="http://www.pixelleben.de/mod_latest_news/index_js.php?profid=1"></script> </td>'); 
else 
if (breite >= 1024) 
document.write('&nbsp;'); 
</script>
Das funktioniert aber nicht. Ich meine <script></script> in einem <script></script> erscheint selbst mir nicht logisch. ;)

Btw. setze ich jetzt einfach mal vorraus das man die Seite maximiert ansieht, das mag zwar eine Grundsatzdiskussion sein - aber davon gehe ich als Designer jetzt einfach mal aus. :D
pixel&leben - Er fand einen neuen Kunstbegriff - damals, als er Kunst begriff.
Benutzeravatar
Matthias V
Modul-Entwickler
Beiträge: 1251
Registriert: 01.01.1970 02:00
Wohnort: Sondershausen
Hat sich bedankt: 54 Mal
Danksagung erhalten: 147 Mal

Beitrag von Matthias V »

Sorry, da habe ich deinen Beitrag nicht so richtig gelesen.

Pribier mal:

Code: Alles auswählen

<td valign="top" style="font-size: 8pt" id="latest_news" style="display: none;"><br><br>
<script language="JavaScript" type="text/javascript" src="http://www.pixelleben.de/mod_latest_news/index_js.php?profid=1"></script>
 </td>
<script type="text/javascript">
var breite = screen.width;
if (breite >= 1280)
document.getElementById('latest_news').style.display = "block";
else
if (breite >= 1024)
document.write('&nbsp;');
</script>
ich würde aber trotzdem die Fensterbreite berücksichtigen und nicht die Bildschirmbreite.
Viele haben auch auf der Liniken Seite immer eine Lesezeichenleiste, die auch Platz von der Webseite weg nimmt.
mod_Guestbook 4.1.0

Features:
- Einträge als ConPresso-Artikel
- benutzt Templates, Rubriken, ...
- Captcha
- BB-Code + Smilies + Zitieren
- Badwords
- Anonymisierung
Benutzeravatar
Eichi
ConPresso-Checker
Beiträge: 133
Registriert: 17.08.2005 13:14
Hat sich bedankt: 24 Mal
Danksagung erhalten: 8 Mal

Beitrag von Eichi »

Funktioniert nur bedingt. Der IE(7) stellt es korrekt dar, jedoch kann der FF nicht mehr damit umgehen. Er überlegt kurz und stellt dann fest das er die Latest News doch zeigen möchte. Vorher war der Effekt übrigens eher andersrum. IE orientiert sich am Hauptbildschirm (nutze Dual Monitoring), aber FF nutzt die Auflösung vom jeweiligen Bildschirm. Ist schon erstaunlich wie unterschiedlich die Browser so reagieren. :roll:

P.S. innerWidth scheint vom IE garnicht unterstützt zu werden, zumin. sagt SELFhtml das. Das Script von quirksmode.org rechtfertigt glaube den Aufwand nicht mehr, lieber lass ich es weg. :?
pixel&leben - Er fand einen neuen Kunstbegriff - damals, als er Kunst begriff.
Benutzeravatar
Matthias V
Modul-Entwickler
Beiträge: 1251
Registriert: 01.01.1970 02:00
Wohnort: Sondershausen
Hat sich bedankt: 54 Mal
Danksagung erhalten: 147 Mal

Beitrag von Matthias V »

Ich habe es eben noch nicht getestet, aber das wäre etwas wo du mal mit rumexperimentieren kannst. Aber allgemein ist der FF der aktuellere Browser, der alles besser interpretiert, im gegensatz zum IE 6.
Man kann es bestimmt auch noch so verfeinern, dass der FF es korrekt ausblendet.

Du kannst ja auch eine Browserweiche schreiben, wenn du möchtest.
mod_Guestbook 4.1.0

Features:
- Einträge als ConPresso-Artikel
- benutzt Templates, Rubriken, ...
- Captcha
- BB-Code + Smilies + Zitieren
- Badwords
- Anonymisierung
Benutzeravatar
Eichi
ConPresso-Checker
Beiträge: 133
Registriert: 17.08.2005 13:14
Hat sich bedankt: 24 Mal
Danksagung erhalten: 8 Mal

Beitrag von Eichi »

Ich benutze Internet Explorer 7 und Firefox zum "gegenprüfen". Die anderen Browser spare ich mir meistens ...

Jetzt ist wohl eher die Frage was sinnvoller ist, rauszufinden warum die PHPSESSID sich da reinschmuggelt oder das JavaScript passend zu machen. Denn meine Variante hat zumin. mit dem Include so funktioniert wie ich mir das gedacht habe. Diese Problem mit den PHPSESSID hab ich schon seit Mai und konnte noch nicht so richtig dahinter steigen warum das so ist. Bei semf scheint diese Session ja auch kein Problem zu sein.

*momentan-etwas-ratlos*

Aber schonmal vielen Dank für dein Hilfe Matthias!
pixel&leben - Er fand einen neuen Kunstbegriff - damals, als er Kunst begriff.
Benutzeravatar
Matthias V
Modul-Entwickler
Beiträge: 1251
Registriert: 01.01.1970 02:00
Wohnort: Sondershausen
Hat sich bedankt: 54 Mal
Danksagung erhalten: 147 Mal

Beitrag von Matthias V »

Die Session-ID's sind nun mal fester Bestandteil von Conpresso, da man eben sessions benötigt.

Und ist dir schonmal aufgefallen, dass Semf Typo3 benutzt? Also nix Conpresso bei seventy-soft.de.
Außerdem wird er es noch mittels mod_rewrite umgeschreiben haben. Bzw. er wird ein mod_rewrite-Modul benutzt haben.
mod_Guestbook 4.1.0

Features:
- Einträge als ConPresso-Artikel
- benutzt Templates, Rubriken, ...
- Captcha
- BB-Code + Smilies + Zitieren
- Badwords
- Anonymisierung
Benutzeravatar
Eichi
ConPresso-Checker
Beiträge: 133
Registriert: 17.08.2005 13:14
Hat sich bedankt: 24 Mal
Danksagung erhalten: 8 Mal

Beitrag von Eichi »

Ja und Nein. Er hatte mir damals ein Beispiel von einem cpo-Projekte gezeigt. Seltsam ist halt das die Session den kompletten Link unbrauchbar macht.

Beispiel: (PHP-Include)
http://www.pixelleben.de/_rubric/index. ... nr=481#481

Beispiel: (JavaScript)
http://www.pixelleben.de/_rubric/index. ... nr=481#481


Ich weiß das es jetzt ziemlich Off-Topic wird, aber man muss doch da eine Lösung finden können. :(
pixel&leben - Er fand einen neuen Kunstbegriff - damals, als er Kunst begriff.
Benutzeravatar
semf
Modul-Entwickler
Beiträge: 1853
Registriert: 01.01.1970 02:00
Wohnort: Gütersloh-Friedrichsdorf
Hat sich bedankt: 14 Mal
Danksagung erhalten: 40 Mal

Beitrag von semf »

... also die website, mit der ich eichi im mai schon das problem aufgezeigt
habe, läuft definitiv unter cpo4 ;-)

wenn ich deinen link so sehe:

Code: Alles auswählen

http://www.pixelleben.de/_rubric/index.php?rubric=aus+dem+leben&PHPSESSID=fa29903f2960a68049197aafd6c1661cnr=481#481
dann fällt eigentlich diese eingepresste session-id auf. denn der hier geht ja:

Code: Alles auswählen

http://www.pixelleben.de/_rubric/index.php?rubric=aus+dem+leben&PHPSESSID=fa29903f2960a68049197aafd6c1661c&nr=481#481
man achte auf das & vor nr=481...! eigentlich sollte die session-id gaaanz
am ende kommen - scheint sie aber nicht zu tun!?

nachtrag: selbst die erste variante funktioniert bei mir - ratlos ...!
Viel Erfolg!

Module ConPresso 4.x
Latest News
Tell-a-friend

Module ConPresso 3.4.x
Index_X
Kontakt
RSS-Feed
Umfrage
Gästebuch
Tell-a-Friend

Modul-Download
Benutzeravatar
Eichi
ConPresso-Checker
Beiträge: 133
Registriert: 17.08.2005 13:14
Hat sich bedankt: 24 Mal
Danksagung erhalten: 8 Mal

Beitrag von Eichi »

<!-- URL: Artikelnummer; url; -->&nr=<!-- Value: articlenr -->#<!-- Value: articlenr -->" class="ticker">

Tjo, so einfach kann es sein. Ich hab jetzt einfach im Template nen & reingefrimmelt und schon geht es. :shock:

Danke Semf ...
pixel&leben - Er fand einen neuen Kunstbegriff - damals, als er Kunst begriff.
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7381
Registriert: 01.01.1970 02:00
Hat sich bedankt: 114 Mal
Danksagung erhalten: 938 Mal

Beitrag von MarkusR »

Mal zur Frage warum da die Session-ID so dazwischenfunkt:

Vermutlich bindest via http-include ein. Somit ist Dein Server der Abrufer der Datei. Da dieser vermutlich keine Cookies annimmt, wird die Session dazugepinnt.
Bei einem direkten include (war hier ja schon mehrfach das Thema) würde die Datei nicht vom Server sondern vom Betrachter angefordert und somit keine Session-ID angehängt.
Ciao Markus
ConPresso-Module

Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!

Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
Benutzeravatar
Matthias V
Modul-Entwickler
Beiträge: 1251
Registriert: 01.01.1970 02:00
Wohnort: Sondershausen
Hat sich bedankt: 54 Mal
Danksagung erhalten: 147 Mal

Beitrag von Matthias V »

Hallo Eichi,

wählst du die Rubrik (<!-- URL: Artikelnummer; url; -->) immer bei der Artikelerfassung aus, oder ist das immer die aktuelle Rubrik.

Wenn ja, dann kannst du das ganze so realisieren:

Code: Alles auswählen

../<!-- Value: rubric; directory; -->/index.php?rubric=<!-- Value: rubric; name; -->&nr=<!-- Value: articlenr -->#<!-- Value: articlenr -->
mod_Guestbook 4.1.0

Features:
- Einträge als ConPresso-Artikel
- benutzt Templates, Rubriken, ...
- Captcha
- BB-Code + Smilies + Zitieren
- Badwords
- Anonymisierung
Benutzeravatar
Eichi
ConPresso-Checker
Beiträge: 133
Registriert: 17.08.2005 13:14
Hat sich bedankt: 24 Mal
Danksagung erhalten: 8 Mal

Beitrag von Eichi »

Matthias V hat geschrieben:wählst du die Rubrik (<!-- URL: Artikelnummer; url; -->) immer bei der Artikelerfassung aus, oder ist das immer die aktuelle Rubrik.
So richtig weiß ich nicht was du meinst, aber das was Latest News da ausspuckt ist vollständig aus dieser einen Rubrik - nicht mehr und nicht weniger. (aus dem leben)
Markus R hat geschrieben:Vermutlich bindest via http-include ein.
Jou, quasi 1:1 aus dem Backend kopiert. In erster Linie muss es funktionieren. ;)
pixel&leben - Er fand einen neuen Kunstbegriff - damals, als er Kunst begriff.
Benutzeravatar
Matthias V
Modul-Entwickler
Beiträge: 1251
Registriert: 01.01.1970 02:00
Wohnort: Sondershausen
Hat sich bedankt: 54 Mal
Danksagung erhalten: 147 Mal

Beitrag von Matthias V »

Eichi hat geschrieben:
Matthias V hat geschrieben:wählst du die Rubrik (<!-- URL: Artikelnummer; url; -->) immer bei der Artikelerfassung aus, oder ist das immer die aktuelle Rubrik.
So richtig weiß ich nicht was du meinst, aber das was Latest News da ausspuckt ist vollständig aus dieser einen Rubrik - nicht mehr und nicht weniger. (aus dem leben)
Du hast ja ein Stück Template gepostet, wo du dann noch ein "&" eingebaut hast.
Du hängst also an eine URL noch eine nr mit an.
Was wählst du für eine URL oder Rubrik mit dem Platzhalter <!-- URL: Artikelnummer; url; --> ??

Falls du immer die Rubrik wählst, in der du dich gerade befindest, kannst du es auch so machen, wie ich das geschrieben habe, dadurch hast du eine relative URL. Falls du diese URL für ein include benutzt, hast du dieses eben ohne http-include und ohne PHPSESSID.
mod_Guestbook 4.1.0

Features:
- Einträge als ConPresso-Artikel
- benutzt Templates, Rubriken, ...
- Captcha
- BB-Code + Smilies + Zitieren
- Badwords
- Anonymisierung