Bilder in Beiträgen verkleinert laden.

Allgemeiner Support zum phpBB 2 Board und phpBB 2 Modifikationen
Forumsregeln
Auch wenn hier der Support für phpBB 2 weiterhin aufrecht erhalten bleibt, weisen wir darauf hin, dass das phpBB 2 nicht mehr offiziell unterstützt und weiterentwickelt wird!
Benutzeravatar
oxpus
Administrator
Administrator
Beiträge: 29144
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Bilder in Beiträgen verkleinert laden.

Beitrag von oxpus »

Code: Alles auswählen

#
#-----[ OPEN ]-----
#
templates/subSilver/bbcode.tpl

#
#-----[ FIND ]-----
#
<!-- BEGIN img --><img src="{URL}" border="0" /><!-- END img -->

#
#-----[ REPLACE WITH ]-----
#
<!-- BEGIN img --><img src="{URL}" onLoad="scaleImage(this)" border="0" /><!-- END img -->

#
#-----[ OPEN ]-----
#
templates/subsilver/overall_header.tpl

#
#-----[ FIND ]-----
#
</head>

#
#-----[ BEFORE, ADD ]-----
#
<script type="text/javascript">
<!--
var maxImageWidth = 400;
function unscaleImage()
{
    if(maxImageWidth > 0)
        this.width = this.width == maxImageWidth ? this.orgwidth : maxImageWidth;
}

function scaleImage(im)
{
    if (maxImageWidth > 0 && im.width > maxImageWidth)
    {
        im.orgwidth = im.width;
        im.width = maxImageWidth;
        im.onclick = unscaleImage;
        im.title = "Click for fullsize view";
        im.style.cursor = 'pointer';
    }
}

//-->
</script>

<script language="JavaScript" type="text/javascript">unscaleImage();</script>


#
#-----[ SAVE/CLOSE ALL FILES ]-----
#
# EoM
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!

Kiss News
User
User
Beiträge: 389
Registriert: So 25.Jul, 2004 18:22

Beitrag von Kiss News »

schön, funtzt einwandfrei :)
Danke für den Code!
nur eine klitzekleine Kleinigkeit: wenn man draufklickt für full size view, und dann nochmal draufklickt, wird es wieder klein. Es sollte dann aber stehen "click for reduced size view" und nicht "click for full size view", wenn Du den gerade hast...
Bild

P.S.: funtzen hier keine bmp Fotos :rolleyes:
Zuletzt geändert von Kiss News am Mi 24.Nov, 2004 00:46, insgesamt 2-mal geändert.

Benutzeravatar
oxpus
Administrator
Administrator
Beiträge: 29144
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Nein, Bitmaps gehen hier nicht.

Und zum Text:
Hatte ich schon versucht, aber Javascript ist nicht unbedingt meine Stärke.
Könntest den Text ja allgemeiner halten, so wie "Click here to rescale the Image"...
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!

Kiss News
User
User
Beiträge: 389
Registriert: So 25.Jul, 2004 18:22

Beitrag von Kiss News »

also bei meinem Board gehen die schon. Hast Du da was geändert? Falls ja, warum?

Der Mod klappt zwar, aber aus irgendeinem Grunde zeigt er mir einen Javascript Error in der Taskleiste unten links an, wenn ich hier eine Antwort schreiben möchte:
http://kissfanshop.ki.funpic.de/phpbb2/ ... eply&t=141
(login: tester/tester)

seltsamerweise ist das aber NUR dort. Sieht so aus, als wäre da irgendein Problem mit einem :bmp - Foto, kann das sein?

EDIT: auch hier gibt's nen Error:
http://kissfanshop.ki.funpic.de/phpbb2/ ... 2323#22323
Zuletzt geändert von Kiss News am Mi 24.Nov, 2004 16:18, insgesamt 1-mal geändert.

easygo
User
User
Beiträge: 160
Registriert: Fr 22.Okt, 2004 13:20
Kontaktdaten:

Beitrag von easygo »

BMP? würd ich auch net zulassen, weil viel zu fett fürs Internet ^^

Wozu gibts jpeg? ;)

mfg
easygo
Diskutiere nie mit einem Idioten: Erst zieht er dich auf sein
Niveau runter und dort schl?gt er dich mit Erfahrung.

Benutzeravatar
oxpus
Administrator
Administrator
Beiträge: 29144
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Wo hast Du denn die Javascript-Funktionen eingebaut? In der overall_header.tpl?
Denn die Funktion, ein Bild zu verkleinern/vergrössern steht beim Posten nicht zur Verfügung, daher der Javascript-Fehler.
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!

Kiss News
User
User
Beiträge: 389
Registriert: So 25.Jul, 2004 18:22

Beitrag von Kiss News »

ja, overall_header.tpl
steht ja so im Snippet...

oder wo gehört es denn sonst hin?

warum hast Du eigentlich javascript verwendet ? geht's damit am Besten?

Benutzeravatar
oxpus
Administrator
Administrator
Beiträge: 29144
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

In der overall_header.tpl ist es korrekt. Frage mich nur, warum das in der posting_body.tpl angesprochen wird, bzw. zu Fehlern führt. Häng die Datei doch mal hier zur Kontrolle an.

Und warum Javascript?
Vielleicht geht sowas auch mit Java oder ähnlichen Sprachen, nur mit HTML und PHP geht das nicht so ohne weiteres, da sich diese nicht auf das Objekt als solches, sondern nur dessen Einbettung bezieht. Javascript kann hier Objekte direkt ansprechen, daher werden Objekte, wie hier Bilder, eben erst geladen und dann in der Grösse geändert.
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!

Kiss News
User
User
Beiträge: 389
Registriert: So 25.Jul, 2004 18:22

Beitrag von Kiss News »

kann es sein, dass da ein Foto erwartet wird, was das Script verkleinern möchte, es aber keines kommt...? Das Javascript hat ja 2 Teile. Ich nehme an, die müssen beide aufgerufen werden, sonst gibt es einen Error..
Ich habe zwar in jedem Forum einen anderen overall_header, aber der Error kommt eindeutig auch dort, wo ich das Script eingebaut habe, und wenn ich das Script wieder ausbaue, ist der Error weg.

Ich habe mehrere "resize" PHP Mods eingebaut, funktionieren aber alle nicht richtig.

Hier die posting_body.tpl:
www.kissnews.de/Test/posting_bodyEMAILPOSTS.txt
Zuletzt geändert von Kiss News am Do 25.Nov, 2004 00:56, insgesamt 1-mal geändert.

Benutzeravatar
oxpus
Administrator
Administrator
Beiträge: 29144
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Ui da waren einige Funktionen doppelt drinnen.
Das kann natürlich nicht klappen.
Ich habe hier erstmal aufgeräumt. Probiere es mal mit der angehängten Version.
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!

Kiss News
User
User
Beiträge: 389
Registriert: So 25.Jul, 2004 18:22

Beitrag von Kiss News »

Vielen Dank, werde ich mir gleich ansehen...

Matze
User
User
Beiträge: 1
Registriert: Di 14.Dez, 2004 10:00

Beitrag von Matze »

Hi!

Ich hätte mal eine Frage dazu.

Wäre es möglich, das ohne Java-Script zu lösen, sondern nur mit php (falls jemand JS deaktiviert hat).
Falls ja, kann man es so machen, dass das Bild schon wärend des Ladens verkleinert dargestellt wird und nicht erst dann verkleinert wird, wenn's schon geladen ist (denn das zerstört das ganze Foren-Design).
Und noch was.
Wenn das Bild verkleinert dargestellt ist, kann man es doch sicher realisieren, dass per Klick darauf das Bild in einem neuen Fenster geöffnet wird.

Ich würde mich über eine Stellungnahme freuen.

Benutzeravatar
oxpus
Administrator
Administrator
Beiträge: 29144
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Sich ergeht das auch mit PHP, wenn man z.B. andere Bibliotheken wie GD oder IMAGICK verwendet. Nachteil: Die Thums belegen dann (zumindest temporär) Speicherplatz ;)
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!

easygo
User
User
Beiträge: 160
Registriert: Fr 22.Okt, 2004 13:20
Kontaktdaten:

Re: Bilder in Beiträgen verkleinert laden.

Beitrag von easygo »

[quote="oxpus - Di 12.Okt, 2004 16:33";p="15281"]

Code: Alles auswählen

#
#-----[ OPEN ]-----
#
templates/subSilver/bbcode.tpl

#
#-----[ FIND ]-----
#
<!-- BEGIN img --><img src="{URL}" border="0" /><!-- END img -->

#
#-----[ REPLACE WITH ]-----
#
<!-- BEGIN img --><img src="{URL}" onLoad="scaleImage(this)" border="0" /><!-- END img -->

#
#-----[ OPEN ]-----
#
templates/subsilver/overall_header.tpl

#
#-----[ FIND ]-----
#
</head>

#
#-----[ BEFORE, ADD ]-----
#
<script type="text/javascript">
<!--
var maxImageWidth = 400;
function unscaleImage()
{
    if(maxImageWidth > 0)
        this.width = this.width == maxImageWidth ? this.orgwidth : maxImageWidth;
}

function scaleImage(im)
{
    if (maxImageWidth > 0 && im.width > maxImageWidth)
    {
        im.orgwidth = im.width;
        im.width = maxImageWidth;
        im.onclick = unscaleImage;
        im.title = "Click for fullsize view";
        im.style.cursor = 'pointer';
    }
}

//-->
</script>

<script language="JavaScript" type="text/javascript">unscaleImage();</script>


#
#-----[ SAVE/CLOSE ALL FILES ]-----
#
# EoM
[/quote]

Kommt mir ja irgendwie bekannt vor...

http://gathering.tweakers.net/forum/lis ... ges/826648

Macht aber die gleichen Probleme wie jedes andere Javascript
zum Skalieren von Bildern. Hat schon wer ne Lösung für?

Beim Antworten in Themen, die Images beinhalten, gibts nen Scriptfehler,
der net besonders viel aussagt, außer dass ein Objekt erwartet wird.

Der Fehler scheint beim Abarbeiten der "topic_review" aufzutreten,
aber die Zeilenangabe ist sehr unterschiedlich und bezieht sich
dabei auf die posting.php?mode=topicreview ^^

Schon ziemlich kompliziert das Ganze,
aber hoffentlich net unlösbar.

mfg
easygo
Diskutiere nie mit einem Idioten: Erst zieht er dich auf sein
Niveau runter und dort schl?gt er dich mit Erfahrung.

Benutzeravatar
shadowrider
User
User
Beiträge: 493
Registriert: Mi 18.Aug, 2004 12:56
Wohnort: Schelklingen-Schmiechen
Kontaktdaten:

Beitrag von shadowrider »

edit: sorry, mein Beitrag hier war absoluter Quatsch ^a

der Hack funktioniert 1a und ist Klasse !
Zuletzt geändert von shadowrider am Sa 05.Mär, 2005 01:54, insgesamt 4-mal geändert.

Benutzeravatar
shadowrider
User
User
Beiträge: 493
Registriert: Mi 18.Aug, 2004 12:56
Wohnort: Schelklingen-Schmiechen
Kontaktdaten:

Beitrag von shadowrider »

doch noch ein Problem:

da die Bilder erst in voller Größe geladen und dann verkleinert werden, ist anschließend der gesamte Textblock extrem breit, so wie die Originalgröße der Bilder eben.
lässt sich das verhindern?

Benutzeravatar
oxpus
Administrator
Administrator
Beiträge: 29144
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Nein. Es wird ja nur die Darstellung verkleinert, nicht das Bild.
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!

Benutzeravatar
Nina3Jungs
User
User
Beiträge: 160
Registriert: Sa 10.Jul, 2004 14:17
Kontaktdaten:

Beitrag von Nina3Jungs »

Klappt sehr gut :-)

Aber Du kennst mich inzwischen *g* Ich hab immer irgendwelche
Sonderwünsche ;-)

Wäre es realisierbar, Bilder in dern Signaturen davon auszunehmen?

In meinem einen Forum ist es so, dass jeder in der Signatur einen
Banner hat mit 600 x 150 Pixel. Der soll auch so bleiben. Normale
Bilder hätte ich aber gern auf Breite 400 normiert. Oder kann ich
es dann nur über die Höhe realisieren?
Zuletzt geändert von Nina3Jungs am So 06.Mär, 2005 20:57, insgesamt 1-mal geändert.

Benutzeravatar
oxpus
Administrator
Administrator
Beiträge: 29144
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Öh, bedenke, daß es auch noch User mit analogem Modem oder ISDN gibt.
Je mehr und grössere Bilder zugelassen werden, desto langsamer und unattraktiver wird ein Forum.
Daher wäre es besser, diese Funktion immer eingeschaltet zu lassen.
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!

Benutzeravatar
Nina3Jungs
User
User
Beiträge: 160
Registriert: Sa 10.Jul, 2004 14:17
Kontaktdaten:

Beitrag von Nina3Jungs »

Weiß ich doch *g* Aber die Banner in den Signaturen sind nun mal 600x 150 *gg*
So wie der zum Beispiel:
Bild

Und um eben die Last ansonsten zu reduzieren ...

Benutzeravatar
Nina3Jungs
User
User
Beiträge: 160
Registriert: Sa 10.Jul, 2004 14:17
Kontaktdaten:

Beitrag von Nina3Jungs »

Hmm, nun bin ich verwirrt. Heute hat mein Mit-Admin Bilder gepostet und die
sind 640 x 480 und werden NICHT verkleinert. Ich kann aber keinen Unterschied
zwischen dem Post und meinem Testpost erkennen *grübel*

EDIT: Es scheint an meinem IE zu liegen. Der hat anscheinend mit JScript Aussetzer.
Zuletzt geändert von Nina3Jungs am So 06.Mär, 2005 23:40, insgesamt 1-mal geändert.

Benutzeravatar
oxpus
Administrator
Administrator
Beiträge: 29144
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Jo Javascript muss auch fehlerfrei laufen, sonst klappt es nicht mit dem Nachbarn ;)
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!

Benutzeravatar
Bootenks
Developer
Developer
Beiträge: 2034
Registriert: Sa 29.Mai, 2004 23:36
Wohnort: G?rlitz (?stlichste Stadt Deutschlands)
Kontaktdaten:

Beitrag von Bootenks »

Also hab das gerade hier gelesen! Ne super Sache!

Hier mal den Script so geändert damit er auch brav zwischen minimize und fullsize unterscheidet:

overall_header.tpl:

Code: Alles auswählen

 <script type="text/javascript">
 <!--
 var maxImageWidth = 400;
 function unscaleImage()
 {
     if(maxImageWidth > 0)
	{
	   this.width = this.width == maxImageWidth ? this.orgwidth : maxImageWidth;
	   this.title = this.width == maxImageWidth ? this.title = "Click for fullsize view" : this.title = "Click for minimize view";
	}
 }

 function scaleImage(im)
 {
     if (maxImageWidth > 0 && im.width > maxImageWidth)
     {
         im.orgwidth = im.width;
         im.width = maxImageWidth;
	   im.title = "Click for fullsize view";
         im.onclick = unscaleImage;
         im.style.cursor = 'pointer';
     }
 }

 //-->
 </script>

 <script language="JavaScript" type="text/javascript">unscaleImage();</script>
Zuletzt geändert von Bootenks am Do 10.Mär, 2005 09:31, insgesamt 3-mal geändert.

Benutzeravatar
oxpus
Administrator
Administrator
Beiträge: 29144
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Danke und auch schon eingebaut!
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!

Benutzeravatar
blondi
User
User
Beiträge: 1091
Registriert: Do 30.Sep, 2004 14:36

Beitrag von blondi »

[quote="Bootenks - Do 10.März, 2005 09:18";p="25409"]Also hab das gerade hier gelesen! Ne super Sache!

Hier mal den Script so geändert damit er auch brav zwischen minimize und fullsize unterscheidet:

overall_header.tpl:

Code: Alles auswählen

 <script type="text/javascript">
 <!--
 var maxImageWidth = 400;
 function unscaleImage()
 {
     if(maxImageWidth > 0)
	{
	   this.width = this.width == maxImageWidth ? this.orgwidth : maxImageWidth;
	   this.title = this.width == maxImageWidth ? this.title = "Click for fullsize view" : this.title = "Click for minimize view";
	}
 }

 function scaleImage(im)
 {
     if (maxImageWidth > 0 && im.width > maxImageWidth)
     {
         im.orgwidth = im.width;
         im.width = maxImageWidth;
	   im.title = "Click for fullsize view";
         im.onclick = unscaleImage;
         im.style.cursor = 'pointer';
     }
 }

 //-->
 </script>

 <script language="JavaScript" type="text/javascript">unscaleImage();</script>
[/quote]


klasse arbeit Bootenks...

funktioniert tadelos... danke dir

lieben gruss

Antworten