#1 Refresh Intervall Dropdown von Movert 25.02.2012 12:11

Hi
Ich brauche mal Hilfe. Ich habe eine Shoutbox in das Template eingebaut, und würde nun noch gerne einen Refresh Intervall dafür Integrieren. Das ganze sollte dann in die Fußzeile gesetzt werden.
http://www.watchguard.com/help/docs/wsm/...al_set_wsm.html|StartTopic=Content%2Fen-US%2Ffsm%2Frefresh_interval_set_wsm.html|SkinName=WSM (en-US)
Es soll folgende Optionen in der Dropdownbox geben:
Kein Refreash (als Standart aktiv)
5 sek.
10 sek.
20 sek.
30 sek.
60 sek.

Der Status sollte 30 Tage lang in einem Cookie gespeichert werden, also lebensdauer des Cookies auf 30 Tage.

Ich hoffe, ihr könnt mir helfen.
MfG. Movert

#2 RE: Refresh Intervall Dropdown von florian-zier 25.02.2012 17:50

avatar

Hallo Movert,
herzlich willkommen hier im Forum!

Also ich kann unter dem angegebenen Link keine Shoutbox ö.ä. entdecken.
Wie auch immer, die von dir eingebaute Shoutbox sollte so ein Auto-Refresh auch auf jeden Fall unterstützen.
Denn ansonsten bleibt es dabei, dass sie sich nur beim Aufrufen einer Seite, also erst bei einem kompletten Seitenrefresh aktualisiert.
Wenn die Shoutbox über einen Iframe eingebunden wurde, hast du evtl. noch die Möglichkeit, einfach immer wieder den Iframe neu zu laden, somit ist wenigstens kein Refresh der kompletten Seite nötig.

Bei dieser Gelegenheit lege ich dir auch mal den Beitrag "Shoutbox ohne externen Anbieter" ans Herz.
Damit bist du nicht mehr von einem anderen Shoutbox-Anbieter abhängig, was dir Änderungen in Design und Funktionalität ermöglicht.
So sind z.B. die Smileys und sonstige BBCodes erweiterbar, ein paar zum Forum passende Smileys sind bereits vorab integriert.
Diese Shoutbox unterstützt einen Auto-Refresh ohne die Seite erneut zu laden und könnte auch ohne Iframe direkt in der Seite verwendet werden.
Im Skript kannst du dann auch einstellen, wie oft sich die Nachrichten akualisieren.
Du musst dafür nur das Zeit-Intervall in der Variable refreshMsgs festlegen.

Dein Dropdown müsste dann eigentlich nur bei Klick diese Variable überschreiben um das Zeit-Intervall zu verändern.

#3 RE: Refresh Intervall Dropdown von Movert 25.02.2012 18:03

http://taran.xobor.de/
Nein, ich muss so eine Dropdown box darunter einbauen, der Link war nur Beispiel wie es aussehen woll mit der Dropdownbox.
der Frame soll auto refresh haben, das kannst du am besten, hat Damian gesagt!

Wir kennen und doch schon aus Wolfgangs Forum, oder?

#4 RE: Refresh Intervall Dropdown von florian-zier 26.02.2012 23:34

avatar

Hallo Movert,
ich denke ich habe nun so ein Skript, welches in einem vorgegebenen Intervall einen iFrame neulädt.
Sollte der Browser aber den Inhalt aus dem Cache und nicht erneut vom Server laden, kannst du da leider nichts machen.
Ich denke da speziell an den IE, welcher auch bei viele Ajax-Anwendungen dadurch Probleme verursacht.
Das kannst du soweit ich weiß auch nicht einfach umgehen, da ansonsten die Sicherheitsbestimmungen des Browsers den benötigten Zugriff sperren.
Ja so ist das halt mit Frames und Einbindungen von anderen Websites...

Im Anhang findest du eine Beispiel-Seite.
Das Erstellen hat jetzt eine ganze Weile gedauert, deshalb werde ich jetzt nicht mehr alles bis ins Detail erläutern.
Aber vielleicht kommst du ja auch so schon damit klar.

Die Testseite enthält bereits eine DropDown-Liste zur Auswahl der Aktualisierungsrate, welches beim Wechseln der Auswahl auch schon die Zeit anpasst.
Möchtest du sie skriptseitig noch irgendwo anders anpassen, dann benutze die Funktion iframeShoutbox.setRefresh(30000);, wobei 30000 die Zeit in ms darstellt.

Übernehme einfach das Skript auf der Seite in den Head-Bereich in deinem Forum.
Die Dropdown-Box platzierst du an eine Stelle deiner Wahl.
Achte darauf, dass du das Skript irgendwie beim Onload mitstartest, auf der Testseite einfachheitshalber direkt im Body-Tag deklariert.


Cookies habe ich bei diesem Skript jetzt noch nicht eingebaut, aber vielleicht kannst du auch da einfach etwas selbst basteln mit dem cookieManager-Skript im Anhang.
Binde das Skript auf deiner Seite ein (oder kopiere dessen Inhalt in Skript-Tags ebenfalls in den Head-Bereich).

Dann stehen dir folgende Methoden zur Verfügung, um Cookies setzen, auslesen oder löschen zu können.
cookieManager.getCookie('CookieName')
cookieManager.setCookie('CookieName', 'CookieWert', 30)
cookieManager.deleteCookie('CookieName')

Die 30 bei setCookie steht dann für 30 Tage Gültigkeit.



Dann wünsche ich dir noch eine gute Nacht...


P.S.: Ja, wir kennen uns schon aus Wolfgangs Forum.

#5 RE: Refresh Intervall Dropdown von Movert 27.02.2012 13:42

Ich sehe keinen Anhang :(

#6 RE: Refresh Intervall Dropdown von florian-zier 27.02.2012 14:48

avatar

Nicht? Tja Pech...

Nein Quatsch, der ist leider nicht ohne Grund nicht zu sehen.
Danke für die Mitteilung.
Der Anhang ist nun inzwischen auch mal angehängt.

Sorry, mein Fehler...

#7 RE: Refresh Intervall Dropdown von Movert 27.02.2012 15:02

Danke. Wie muss ich den Skript nun einfügen? also den <skript> in die Kopfzeile, das habe ich. Die Selectbox ist auch schon im Forum, und wo muss dieses onload rein?

#8 RE: Refresh Intervall Dropdown von florian-zier 29.02.2012 22:27

avatar

Hallo Movert,
du solltest das Skript nicht in die Kopfzeile einbauen, sondern in das Template-Element Obere Leiste.
Dazu musst du dir zuerst ein Eigenes Template erstellen, was du aber vielleicht schon längst getan hast.

Dort musst du dann alles zwischen den Skript-Tags (inklusive diesen) einfügen:

1
2
3
 
<script language="JavaScript" type="text/javascript">
...
</script>
 


... noch vor dem schließenden Head-Tag:

1
 
</head>
 




Für den Aufruf beim Laden der Seite musst du das Body-Tag ergänzen um das Attribut onload="...", in etwa so könnte das aussehen:

1
 
<body onload="iframeShoutbox=(new iframeReloader('shoutboxFrame',-1));">
 


Du kannst das nochmal kurz im Beitrag Onload im Body-Tag verkürzen nachlesen, dort wird auch eine alternative Methode beschrieben.


Wo du die Select-Box einbaust, ist eigentlich ganz egal.
Diese kannst du über irgendein Template-Element einfügen oder aber auch ohne Probleme in die Fußzeile etc. einfügen.
Im Endeffekt solltest du sie naheliegend zu der Shoutbox selbst beifügen, da sie dann ja automatisch auf den gleichen Seiten wie die Shoutbox sichtbar ist.


Hoffe, das konnte dir nun etwas weiterhelfen...



P.S.: Solltest du dich noch nicht mit der Cookie-Speicherung beschäftigt haben, würde ich davon auch eher abraten.
Das verbraucht nur Ressourcen auf der User-Seite und in diesem Fall auch serverseitig.
Wer eine zeitlang die Inhalte betrachten möchte, kann ja dann ab da das Intervall einstellen.
Bei vielen seitenwechseln müsste man zwar öfter das Intervall neu einstellen, aber bei einem seitenwechsel erhält man ja automatisch wieder eine neue Version.

#9 RE: Refresh Intervall Dropdown von Movert 01.03.2012 13:35

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
 
	{{img_server.start}}http://img.homepagemodules.de/{{img_server.end}}
{{now1@dateformat.start}}{[time_minute_one]}{{now1@dateformat.end}}
{{now@dateformat.start}}{[time_minute_more]}{{now@dateformat.end}}
{{today@dateformat.start}}{[time_today]}{{today@dateformat.end}}
{{yesterday@dateformat.start}}{[time_yesterday]}{{yesterday@dateformat.end}}
{{norm@dateformat.start}}{[time_other]}{{norm@dateformat.end}}
{{numberformat.start}}{[number_format]}{{numberformat.end}}
{{user_newmail==true.start}} {{show.start}}true{{show.end}} {{user_newmail==true.end}}
{{user_newgbook==true.start}} {{show.start}}true{{show.end}} {{user_newgbook==true.end}}
{{calendar_new==true.start}} {{show.start}}true{{show.end}} {{calendar_new==true.end}}
{{gallery_new==true.start}}{{show.start}}true{{show.end}} {{gallery_new==true.end}}
{{blog_new==true.start}}{{show.start}}true{{show.end}} {{blog_new==true.end}}
{{global_nav_top.startint}}{{global_nav_fontsize}}+22{{global_nav_top.end}}
{{nav_smallfont.startint}}{{global_nav_fontsize}}-1{{nav_smallfont.end}}
 

{{global_page_width!$=%.start}}
{{global_page_width!$=px.start}}
{{global_page_width.start}}{{global_page_width}}px{{global_page_width.end}}
{{global_page_width!$=px.end}}
{{global_page_width!$=%.end}}
 
<!DOCTYPE html>
<HTML {{fb_api==true.start}}{[facebook_xmlns]}{{fb_api==true.end}}>
<HEAD>
<title>{{html_title}}</title>
<!-- <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" >-->
{{meta_refresh==true.start}}{{meta_refresh}}{{meta_refresh==true.end}} {{global_favicon==true.start}}<link rel="shortcut icon" href="{{global_favicon}}" type="image/x-icon" />{{global_favicon==true.end}}
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="Content-Language" content="{[meta_language]}" />
 
<meta name="description" Content="{{html_desc}}" />
{{fb_title==true.start}}<meta property="og:title" content="{{fb_title}}"/> {{fb_title==true.end}}
{{fb_type==true.start}}<meta property="og:type" content="{{fb_type}}"/>{{fb_type==true.end}}
{{fb_image==true.start}}<meta property="og:image" content="{{fb_image}}"/>{{fb_image==true.end}}
{{fb_url==true.start}}<meta property="og:url" content="{{fb_url}}"/>{{fb_url==true.end}}
{{fb_site_name==true.start}}<meta property="og:site_name" content="{{fb_site_name}}"/>{{fb_site_name==true.end}}
{{fb_admins==true.start}}<meta property="fb:admins" content="{{fb_admins}}"/>{{fb_admins==true.end}}
<meta name="robots" content="{{meta_robots_index}}" />
<link rel="stylesheet" type="text/css" href="{{link_css}}" />
{{link_blog_css==true.start}}
<link rel="stylesheet" type="text/css" href="{{link_blog_css}}" />
<link rel="alternate" type="application/rss+xml" title="{{link_blog_rssfeed_title}}" href="{{link_blog_rssfeed}}" />
{{link_blog_css==true.end}}
<link rel="alternate" type="application/rss+xml" title="{{html_title_static}}" href="feed/all.rss" />
<script type="text/Javascript" src="{{link_js}}"></script>

<!--[if IE]>
<style type="text/css">
.scrollable{padding: 0 0 20px 0 !important;}
.c_r_top1, .c_r_top2, .c_r_top3, .a_r_content2 {margin-bottom: -5px !important;}
.c_r_bottom1, .c_r_bottom2, .c_r_bottom3, .a_r_bottom2 {margin-top: -4px !important;}
.c_r_content1, .c_r_content2, .c_r_content3, .a_r_content2 {padding-bottom:10px; margin-top: 4px; margin-bottom: 3px;}
.button_reply {margin-bottom:-6px;margin-left:-1px;}
.button_edit {margin-bottom:-6px;margin-left:-1px;}
.post {z-index: 10000; position: relative; top: 1px;}
#ie_button {position: relative; top: -10px; padding-bottom: 7px;}
a:hover {cursor: pointer !important;}
#ie_search {padding: 15px 5px 5px 40px; overflow:visible;}
#TabsC li {padding: 10px; 5px 10px 5px;}
input {overflow: visible;}
.inpage table {width: 100%;}
.navbar li {padding: 5px 10px 5px 10px;}
.underdiv {right: -7px;}
.avatar {top: -80px;}
.ie_widget_pic {overflow: scroll;}
.widget_calendar_integration_description {padding-bottom: 20px; overflow-x: hidden !important;}
.lastedit {margin-top: 30px;}
#integration_link {margin-top: -17px;}
.underdiv {right: -11px;}
hr {margin: 0px 5px; width: 99%;}
.message h3 {margin-right: 3px;}
</style>
<![endif]-->
 

<!--[if lt IE 7]>
<style type="text/css">
.c_r_top1_head, .c_r_top1, .c_r_top2, .c_r_top3 {background-image: none !important;}
.c_r_top1_head div,.c_r_top1 div, .c_r_top2 div, .c_r_top3 div, .a_r_content2 div {background-image: none !important;}
.c_r_bottom1, .c_r_bottom2, .c_r_bottom3, .a_r_content {background-image: none !important;}
.c_r_bottom1 div, .c_r_bottom2 div, .c_r_bottom3 div, .a_r_content2 div {background-image: none !important;}
.c_r_content1, .c_r_content2, .c_r_content3, .a_r_content2 {padding-left:0px !important;padding-bottom:0px !important; }
.ie_button_reply {width:80 px; text-align:center; padding:10px; background-color:{{global_button_bg}}; }
.ie_button_edit {width:80 px; text-align:center; padding:10px; background-color:{{global_button_bg}}; }
.action_buttons{display:none;}
.ie6_buttons{display:block !important;margin-top:20px;}
.posttable{margin-top:0px !important}
.jumpTo{height:300px;}
</style>
<![endif]-->
 
<style type="text/css">
{{global_smaller_fontsize.startint}}{{global_small_fontsize}}-2{{global_smaller_fontsize.end}}
.nav_n ul li {z-index: 99999; }
.nav_n img {border: none; vertical-align: middle; margin-right: 3px;}
.nav_n ul {border-top: 1px solid {{global_nav_line}}; margin-bottom: 0px !important; position: relative; z-index: 9999; {{menu_has_sub==true.start}}white-space: nowrap;{{menu_has_sub==true.end}} clear: both;}
.nav_n ul, nav_n ul li ul {display: block; float: none; list-style: none; list-style-image: none; margin-bottom: 10px; z-index: 9999;}
.nav_n ul li {padding: 4px 14px; float: left; text-align: left; border-right: 1px solid {{global_nav_line}}; z-index: 500; position: relative;}
.nav_n ul li .dwn {vertical-align: middle; margin-left: 2px; border: none;}
.nav_n ul li ul li {float: none !important; text-align: left; white-space: nowrap; padding: 6px 12px; background-Image: none !important; background-color: {{global_subnav_bg}} !important;}
.nav_n ul li ul li a {color: {{global_subnav_color}} !important;}
.nav_n a {font-size: {{global_nav_fontsize!==0.start}}{{global_nav_fontsize}}{{global_nav_fontsize!==0.end}}{{global_nav_fontsize==0.start}}11{{global_nav_fontsize==0.end}}px !important; text-decoration: none !important; color: {{global_navlink_color}} !important;}
.nav_n ul li ul {border-top: none; border-bottom: 1px solid {{global_nav_line}}; border-left: 1px solid {{global_nav_line}}; position: absolute; top: {{global_nav_top}}px; background-color: {{global_post_bg}}; z-index: 500; min-width: 100%;}
.nav_n li:hover {{{global_navlist_bg_image_hover==true.start}} background-Image: url({{global_navlist_bg_image_hover}}); background-color: transparent; {{global_navlist_bg_image_hover==true.else}} background-Image: none !important; background-color: {{global_navlist_bg_hover}}; {{global_navlist_bg_image_hover==true.end}} cursor: pointer; }
.nav_n ul li ul li:hover {background-color: {{global_subnav_hover}} !important;}
.userinfo {float: right !important; border-left: 1px solid {{global_nav_line}}; position: relative;}
.nav_userinfo small {font-size: {{nav_smallfont}}px !important;}
.nav_userinfo a {color: {{global_subnav_color}} !important;}
.userinfo_menu:hover {left: -288px !important; width: 350px; background-color: {{global_navlist_bg}} !important; cursor: pointer;}
.nav_userinfo {cursor: default; border-top: none; border-bottom: 1px solid {{global_nav_line}}; border-right: 1px solid {{global_nav_line}}; border-left: 1px solid {{global_nav_line}}; -moz-opacity:1.0; opacity:1.0; filter:alpha(opacity = 100); display: none; position: absolute; background-color: {{global_subnav_bg}}; z-index: 9999; right: -1px; width: 350px; top: {{global_nav_top}}px;}
.nav_userinfo .linklist div {padding: 5px;}
ul.nav_close {display: none !important;}
ul.nav_open {display: block;}
</style>
 
{{user_registered==true.start}}
<script type="text/Javascript" >
<!--
function calculate () {document.getElementById('user_add').style.top = document.getElementById('nav_userinfo_li').offsetHeight + "px";}
function hide() {document.getElementById('user_add').style.display='none';}
var timer, timein, count = 0, t;
function show(){
element = document.getElementById('user_add');
element.style.display='block';
clearTimeout(t);
element.style.MozOpacity =1.0;
element.style.filter = 'alpha(opacity = 100)';
element.style.Opacity = 1.0;
}
function fade(eid) {
try{calculate ();} catch(err) {}
var element = document.getElementById(eid);
var opnow = element.style.opacity;
var mozopnow = element.style.MozOpacity;
if (mozopnow < 0){mozopnow=0;}
if (opnow < 0){opnow=0;}
if(count==0){mozopnow = 1.0;}
count++;
if (mozopnow == 0 || opnow==0 ){
count=0;
element.style.display='none';
element.style.MozOpacity =1.0;
element.style.filter = 'alpha(opacity = 100)';
element.style.Opacity = 1.0; }
else {
element.style.filter = 'alpha(opacity = ' + ((mozopnow*100)-5) + ')';
element.style.MozOpacity = (mozopnow-0.05);
element.style.Opacity = (mozopnow-0.05);
t = setTimeout("fade('"+eid+"')", 50);}
}
-->
</script>
{{user_registered==true.end}}
<script language="JavaScript" type="text/javascript">
/* <![CDATA[ */
 
var iframeReloader = function(frameID, interval) {
 
this._init = function() {
this._frame = document.getElementById(frameID);
if (this._frame == null) throw new Error("Der iFrame konnte nicht gefunden werden!");

this._interval = this.setRefresh(interval);
this._active = null;
}
 
this._enable = function(enabled) {
if (enabled) {
var obj = this;
this._active = window.setInterval(function(){obj.reload();}, this._interval);
return "enabled";
}
else {
window.clearInterval(this._active);
this._active = null;
return "disabled";
}
}

this.setRefresh = function(interval) {
if (interval < 0) {
this._enable(false);
return 'disabled';
}
this._enable(false);
this._interval = interval;
this._enable(true);
return 'Interval: ' + this._interval + 'ms';
}
this.getInterval = function() {
return this._interval;
}
 
this.reload = function() {
this._frame.src = this._frame.src;
}

this._init();
}
 
var iframeShoutbox = null;
 
/* ]]> */
</script>
</head>
 
<body onload="iframeShoutbox=(new iframeReloader('shoutboxFrame',-1));">
{{fb_api==true.start}}{[facebook_init]}{{fb_api==true.end}}
<center>
{{user_registered==false.start}}
{{captcha_login==false.start}}
<form method="POST" action="{{link_login}}">
<table style="border-collapse: collapse;" width="100%" class="login">
<tr>
<td width="50%"style="padding: 0px 20px 0px 20px;"><span style="float: left;"><small>{[header_welcome_text]} · <a href="{{link_signup}}">{[header_goto_signup]}</a></small></span></td>

<td width="50%" style="white-space: nowrap;"><div style="float: right;"><strong>{[header_goto_login]}</strong>·
<input type="text" name="name" {{username==true.start}}value="{{username}}"{{username==true.end}} {{username==false.start}}value="{[login_name_2]}"{{username==false.end}} size="20" class="inputbox_small" {{username==false.start}}onclick="if (this.value=='Benutzername') {this.value='';}" onblur="if (this.value=='') {this.value='Benutzername';}"{{username==false.end}}>
<input type="password" name="pww" size="20" class="inputbox_small" {{username==false.start}}value="Passwort"{{username==false.end}} onfocus="this.value='';">
<input type="submit" value="{[login_submit]}" name="B1" class="button_login"></div></td>

</tr>
</table>
</form>
{{captcha_login==false.end}}
{{user_registered==false.end}}

<div class="content">
<div class="page" id="pagewidth">
<div style="padding-top: 5px;">
{{global_header_bg_color==true.start}}
<div class="c_r_cont1_head" style="width: 100%; float: right; text-align: center;"><div class="c_r_top1_head"><div></div></div></div></div>{{global_header_bg_color==true.end}}
<table width="100%" style="!important; background-color:{{global_header_bg_color}}; border-collapse: collapse; margin-top: 0px;">
<tr {{global_header_bg_color==true.start}}style="min-height: 120px !important;"{{global_header_bg_color==true.end}}><td>{{html_header==false.start}}<div {{global_header_bg_color==true.start}}style="min-height:100px; height:auto !important; height:100px;"{{global_header_bg_color==true.end}}></div>{{html_header==false.end}} {{html_header==true.start}} {{html_header}} {{html_header==true.end}} </td>
</tr>
<tr>
<td colspan="2" style="background-color: {{global_navlist_bg}}; {{global_nav_bg_image==true.start}} background-Image: url({{global_nav_bg_image}}); {{global_nav_bg_image==true.end}}">
<div class="nav_n" id="nav_n">
<ul {{user_registered==true.start}} {{global_top_onclick==false.start}}onmouseout="hideDivById('user_add');" {{global_top_onclick==false.end}}{{user_registered==true.end}} >
{{menu|filter(menulist, key!==link_member|link_mail|link_logout|link_userlist|link_online|link_lastentry|link_faq,100)}}
 
{{menulist.startlist}}
{{cur_name.start}}{{menulist:standard==true.start}}{{menulist:standardChanged==false.start}}{{menulist:name|gettranslation(header)}}{{menulist:standardChanged==false.else}}{{menulist:name}}{{menulist:standardChanged==false.end}}{{menulist:standard==true.else}}{{menulist:name}}{{menulist:standard==true.end}}{{cur_name.end}}
{{menulist:is_sub==true.start}}
{{firstsubmenu==false.start}}
<ul class="nav_close">
{{firstsubmenu.startint}}true{{firstsubmenu.end}}
{{firstsubmenu==false.end}}
<li ><a href="{{menulist:ziel}}" {{menulist:_blank==true.start}}target="_blank"{{menulist:_blank==true.end}}>{{menulist:icon==true.start}}<img title="{{cur_name}}" src="{{menulist:icon}}" alt="" />{{menulist:icon==true.end}}{{cur_name}}</a></li>
{{submenubefore.startint}}true{{submenubefore.end}}
{{menulist:is_sub==true.else}}
{{firstsubmenu.startint}}false{{firstsubmenu.end}}
{{submenubefore==true.start}}
</ul> {{global_dynamic2static_server==true.start}}<img alt="" class="dwn" src="{{global_dynamic2static_server}}svg-object_navsub-color1_{{global_navlink_color|urlencode}}-color2_{{global_navlink_color|urlencode}}-color3_FFF.png" />{{global_dynamic2static_server==true.end}} </li>
{{submenubefore.startint}}false{{submenubefore.end}}
{{submenubefore==true.else}}
{{menuendli}}
{{submenubefore==true.end}}
<li onmouseout="togSub('{{menulist:key}}','{{menulist:ziel}}')" onmouseover="togSub('{{menulist:key}}','{{menulist:ziel}}')" id="{{menulist:key}}">
<a href="{{menulist:ziel}}" {{menulist:_blank==true.start}}target="_blank"{{menulist:_blank==true.end}}><span>{{menulist:icon==true.start}}<img src="{{menulist:icon}}" alt="" title="{{cur_name}}" />{{menulist:icon==true.end}}{{cur_name}}</span></a>
{{menulist:new==true.start}}{{global_nav_news==true.start}}<img src="{{global_nav_news}}" alt="" class='dwn'/>{{global_nav_news==true.end}}{{menulist:new==true.end}}
{{menulist:is_sub==true.end}}
{{menuendli.start}}</li>{{menuendli.end}}
{{menulist.end}}
{{submenubefore==true.start}}
</ul> {{global_dynamic2static_server==true.start}}<img alt="" class="dwn" src="{{global_dynamic2static_server}}svg-object_navsub-color1_{{global_navlink_color|urlencode}}-color2_{{global_navlink_color|urlencode}}-color3_FFF.png" />{{global_dynamic2static_server==true.end}} </li>
{{submenubefore.startint}}false{{submenubefore.end}}
{{submenubefore==true.else}}
</li>
{{submenubefore==true.end}}
 
{{user_registered==true.start}}
{{user_newmail==true.start}} {{show.start}}true{{show.end}} {{user_newmail==true.end}}
{{user_newgbook==true.start}} {{show.start}}true{{show.end}} {{user_newgbook==true.end}}
{{mailerror==true.start}}{{show.start}}true{{show.end}}{{mailerror==true.end}}
{{blog_new==true.start}}{{show.start}}true{{show.end}}{{blog_new==true.end}}
{{gallery_new==true.start}}{{show.start}}true{{show.end}} {{gallery_new==true.end}}
{{mailerror==true.start}}{{show.start}}true{{show.end}}{{mailerror==true.end}}
<li {{global_top_onclick==false.start}} onmouseover="show();clearTimeout(t);calculate();" {{global_top_onclick==false.else}} onclick="show();clearTimeout(t); calculate(); " {{global_top_onclick==false.end}} style="border-right:none;float: right;" id="nav_userinfo_li"><a {{global_top_onclick==false.start}} onmouseover="show();clearTimeout(t);calculate();" {{global_top_onclick==false.else}}onclick="return false;"{{global_top_onclick==false.end}} href="{{link_myprofile}}">{{global_nav_user==true.start}}<img alt="" src='{{global_nav_user}}' class='dwn' />{{global_nav_user==true.end}}{{show==true.start}}{{global_nav_news==true.start}}<img alt="" src="{{global_nav_news}}" class='dwn'/>{{global_nav_news==true.end}}{{show==true.end}}<strong>{{user_name}}</strong></a> {{global_dynamic2static_server==true.start}}<img alt="" src="{{global_dynamic2static_server}}svg-object_navsub-color1_{{global_navlink_color|urlencode}}-color2_{{global_navlink_color|urlencode}}-color3_FFF.png" style="vertical-align: middle; margin-left: 2px; border: none;">{{global_dynamic2static_server==true.end}}
 
<div class="nav_userinfo" id="user_add" onMouseOut="hideDivById('user_add');" onmouseover="show();clearTimeout(t); calculate();">
<div>
<table width="100%">
{{mailerror==true.start}}
<tr>
<td colspan="2" style="padding: 10px 10px 0px 10px; text-align: left;" align="left">
<a href="{{link_memberdata}}"><img alt="" src="{{global_mailerror}}" style="border: none; margin-right: 3px; vertical-align: middle;" /><small>{[mailerror_errorexists]}</small></a><br/>
</td>
</tr>
{{mailerror==true.end}}
 
{{show==true.start}}
<tr>
<td colspan="2" style="border-bottom: 1px solid {{global_nav_line}}; padding: 10px;" align="center">
{{calendar_new==true.start}}<a href="{{calendar_link}}"><small><strong>{[user_newevent]}</strong></small></a><br/>{{calendar_new==true.end}}
{{gallery_new==false.start}} {{gallery_new==false.else}}<a href="{{link_gallery}}"><small><strong>{[user_newpicture]}</strong></small></strong></a><br/>{{gallery_new==false.end}}
{{user_newmail==true.start}}<a href="{{link_mails}}"><small><strong>{[user_newnews]}</strong></small></a><br/>{{user_newmail==true.end}}
{{blog_new==true.start}}<a href="{{link_blog}}"><small><strong>{[user_newblog]}</strong></small></a><br/>{{blog_new==true.end}}
{{user_newgbook==true.start}}<a href="{{link_config}}"><small><strong>{[user_newgb]}</strong></small></a><br/>{{user_newgbook==true.end}}
</td>
</tr>

{{show==true.else}}
<tr>
<td colspan="2" style="border-bottom: 1px solid {{global_nav_line}}; padding: 10px; text-align: center;" align="center">
<small>{[user_nonews]}</small>
</td>
</tr>
{{show==true.end}}
 
<tr>
<td align="center" valign="middle" style="padding: 5px 8px; border-right: 1px solid {{global_nav_line}};" width="40%"><a href="{{link_myprofile}}">{{avatar==true.start}}<img style="max-height: 140px; max-width: 140px;" alt="" src="{{avatar|resizepic(140, 140)}}">{{avatar==true.else}}
{{user_gender_m==true.start}}
<img alt="gender_m" src="{{global_user_profile_genderM==true.start}}{{global_user_profile_genderM}}{{global_user_profile_genderM==true.else}}{{global_user_profile}}{{global_user_profile_genderM==true.end}}" >
{{user_gender_m==true.else}}
{{user_gender_w==true.start}}
<img alt="gender_w" src="{{global_user_profile_genderW==true.start}}{{global_user_profile_genderW}}{{global_user_profile_genderW==true.else}}{{global_user_profile}}{{global_user_profile_genderW==true.end}}" >
{{user_gender_w==true.else}}
<img alt="gender" src="{{global_user_profile}}">
{{user_gender_w==true.end}}
{{user_gender_m==true.end}}
 
{{avatar==true.end}}</a></td>
<td valign="top">
<div class="linklist">
<div onclick="window.location='{{link_mails}}'; return false;" onmouseover="this.style.cursor='pointer'; this.style.backgroundColor='{{global_subnav_hover}}';" onmouseout="this.style.backgroundColor='transparent';">{{global_nav_pm==true.start}}<img alt="pm" src="{{global_nav_pm}}" />{{global_nav_pm==true.end}} <a href="{{link_mails}}">{{user_newmail==true.start}}<strong>{{user_newmail==true.end}}{[header_goto_pm]}{{user_newmail==true.start}}</strong>{{user_newmail==true.end}}</a></div>
 
{{blog_active==true.start}}
{{userblog_active==true.start}}<div onclick="window.location='{{blog_user_link}}'; return false;" onmouseover="this.style.cursor='pointer'; this.style.backgroundColor='{{global_subnav_hover}}';" onmouseout="this.style.backgroundColor='transparent';">{{global_nav_pm==true.start}}<img alt="pm" src="{{global_nav_pm}}" />{{global_nav_pm==true.end}} <a href="{{blog_user_link}}">{[blog_goto_userblog]}</a></div>{{userblog_active==true.end}}
{{userblog_active==true.start}}<div onclick="window.location='{{blog_editlist_link}}'; return false;" onmouseover="this.style.cursor='pointer'; this.style.backgroundColor='{{global_subnav_hover}}';" onmouseout="this.style.backgroundColor='transparent';">&nbsp;&nbsp;&nbsp;&nbsp;{{global_nav_edit==true.start}}<img alt="edit" src="{{global_nav_edit}}">{{global_nav_edit==true.else}} <small>•</small> {{global_nav_edit==true.end}}<a href="{{blog_editlist_link}}"><small>{[blog_editlist]}</small></a></div>{{userblog_active==true.end}}
{{blog_active==true.end}}
 
<div onclick="window.location='{{link_config}}'; return false;" onmouseover="this.style.cursor='pointer'; this.style.backgroundColor='{{global_subnav_hover}}';" onmouseout="this.style.backgroundColor='transparent';">{{global_nav_config==true.start}}<img alt="config" src="{{global_nav_config}}">{{global_nav_config==true.end}} <a href="{{link_config}}">{[header_goto_config]}</a>
</div>
<div onclick="window.location='{{link_myprofile_edit}}'; return false;" onmouseover="this.style.cursor='pointer'; this.style.backgroundColor='{{global_subnav_hover}}';" onmouseout="this.style.backgroundColor='transparent';">&nbsp;&nbsp;&nbsp;&nbsp;{{global_nav_edit==true.start}}<img alt="edit" src="{{global_nav_edit}}">{{global_nav_edit==true.else}} <small>•</small> {{global_nav_edit==true.end}}<a href="{{link_myprofile_edit}}"><small>{[user_editprofile]}</small></a></div>
 
<div onclick="window.location='{{link_lastmsgs}}'; return false;" onmouseover="this.style.cursor='pointer'; this.style.backgroundColor='{{global_subnav_hover}}';" onmouseout="this.style.backgroundColor='transparent';">{{global_nav_last==true.start}}<img alt="last" src="{{global_nav_last}}" />{{global_nav_last==true.end}} <a href="{{link_lastmsgs}}">{[user_last]}</a></div>

<div onclick="window.location='{{link_logout}}'; return false;" onmouseover="this.style.cursor='pointer'; this.style.backgroundColor='{{global_subnav_hover}}';" onmouseout="this.style.backgroundColor='transparent';">{{global_nav_logout==true.start}}<img alt="logout" src="{{global_nav_logout}}" />{{global_nav_logout==true.end}} <a href="{{link_logout}}">{[header_goto_logout]}</a></div>
</div>
</td>
</tr>
</table>
</div>
</div>
</li>
{{user_registered==true.end}}
</ul>
<div style="clear: both;"></div>
 
<noscript>
 

 
<div style="color: #d95801 !important; padding: 8px; background-color: {{global_post_bg}};">
<small><strong>{[error_not_working]}</strong> {[error_javascript_sentence]}</small></div>
 
<br/>
{{user_registered==true.start}}
<a href="{{link_mails}}"><small>{[header_goto_pm]}</small></a>
<a href="{{link_config}}"><small>{[header_goto_config]} •</small></a>
<a href="{{link_myprofile_edit}}"><small>{[user_editprofile]} •</small></a>
<a href="{{link_lastmsgs}}"><small>{[user_last]} •</small></a>
<a href="{{link_logout}}"><small>{[header_goto_logout]}</small></a>
{{user_registered==true.end}}
 
</noscript>
 
</div>
{{global_hide_popup==false.start}}
{{show==true.start}}

<script type="text/javascript">
<!--
show();
calculate ()
var t = setTimeout("fade('user_add')",1300);
-->
</script>

{{show==true.end}}
{{global_hide_popup==false.end}}
</td>
</tr>
</table>
{{tick(header_under_nav)}}

<div class="page2">
<div class="inpage">
{{user_registered==true.start}}
{{user_admin==true.start}}
<div style="position: relative; display: inline;">
{{no_admin_login==true.start}}<div id="admin_inform" style="width: 585px; height: 393px; background-repeat: no-repeat; background-position: top left; background-image: url({{global_no_admin}}); top: 2px; left: -28px; position: absolute; z-index: 60000;"><div style="padding: 40px 30px 30px 50px; color: #2c2c2c; line-height: 19px;">
<table align="left">
<tr><td align="left"><h2 style="font-family: TimesNewRoman !important; text-transform: capitalize;">{[forum_hello]} {{user_name}}!</h2></tr></td>
<tr><td align="left">{[forum_first_admin]}</td></tr>
<tr><td align="left"><hr/><img alt="list1" src="{{global_no_admin_list}}" style="margin-right: 6px;" />{[forum_first_admin_list1]}</td></tr>
<tr><td align="left"><img alt="list2" src="{{global_no_admin_list}}" style="margin-right: 6px;" />{[forum_first_admin_list2]}</td></tr>
<tr><td align="left"><img alt="list3" src="{{global_no_admin_list}}" style="margin-right: 6px;" />{[forum_first_admin_list3]}</td></tr>
<tr><td align="left"><img alt="list4" src="{{global_no_admin_list}}" style="margin-right: 6px;" />{[forum_first_admin_list4]}<hr/></td></tr>
<tr><td align="left">{[forum_first_admin_support]}<br/><br/>{[forum_first_admin_fun]}<div align="right"><small><a href="#" onclick="document.getElementById('admin_inform').style.display='none';" style="text-decoration: none;">{[forum_hide]}</a></small></div></td></tr></table>
</div>{{no_admin_login==true.end}}</div>{{user_admin==true.end}}
{{user_registered==true.end}}
 

{{chat_on_page.start}}
<div class="c_r_cont1" style="margin-top:20px;{{show_chat_on_page==false.start}}display:none;{{show_chat_on_page==false.end}}" id="xChatGlobalBaseBox"><div class="c_r_top1"><div></div></div><div style="z-index: 1; padding: 0px;" class="c_r_content1">
<div id="xChatGlobalBaseHeader" style="padding:0 0 5px 20px; border-bottom:1px solid;"><span><b>Forum Chat</b>
<span class="xChatMin" onclick="minimizeChat($('#xChat_global'));"><img src="http://files.homepagemodules.de/b2001010/a_1246_5ee131c9.gif" alt="{[chat_min]}" title="{[chat_min]}" /></span>
<span class="xChatClose" onclick="closeChat($('#xChat_global'));"><img src="http://files.homepagemodules.de/b2001010/a_1245_7c2fe117.gif" alt="{[chat_close]}" title="{[chat_close]}" /></span>
<span class="xChatShowSettings" style="float:right; margin-right:8px;" onclick="togglexChatSettings()"><img src="http://files.homepagemodules.de/b2001010/a_1235_1679bb97.png" alt="{[chat_settings]}" /></span>
<span class="xChatSoundToggler" style="float:right;" onclick="togglexChatSound()"><img src="{{chat_sound_muted==true.start}}http://files.homepagemodules.de/b2001010/a_1295_eb34627f.png{{chat_sound_muted==true.else}}http://files.homepagemodules.de/b2001010/a_1294_64db2f2e.png{{chat_sound_muted==true.end}}" alt="{[chat_sound]}" title="{[chat_sound]}" /></span>
</div>
<div id="xChatGlobalBase" class="boxcontent"><div id="xChatLoader"><h2>{[chat_loading]}</h2></div></div>
</div><div class="c_r_bottom1"><div></div></div>
</div>
{{chat_on_page.end}}
 

{{chat_pos==1.start}}
{{chat_on_page}}
{{chat_pos==1.end}}
 



Das hab ich nun in der Oberen leiste, Shoutbox und Dropdown sind eingebaut, aber die Fuß und KOfzielen Inhalte werden nichtmehr angezeigt :(

#10 RE: Refresh Intervall Dropdown von florian-zier 01.03.2012 19:09

avatar

Hallo Movert,
ich war mal so frei, den langen Quellcode noch zusätzlich in einen Spoiler zu packen.

Also der Einbau des Skripts sieht soweit korrekt aus, direkt über dem schließenden Head-Tag.
Auch bei dem Onload-Befehl ist mir soweit nichts aufgefallen.
Nach aktuellem Stand werden auf der oben von dir angegebenen Seite (http://taran.xobor.de) auch keine Fehler von anderen JavaScripts erzeugt.

Ich schätze mal, dass du das Skript für den Moment wieder entfernt hast, da es nicht mehr im Head-Bereich und Onload zu finden ist.
Aber wenn du es wie angegeben in deiner Oberen Leiste eingebaut hattest, hätte es bereits funktionieren müssen.
Ich schätze mal, dass die Shoutbox selbst in der Fußzeile eingebaut wurde und deshalb in diesem Code nicht zu finden ist (sollte aber OK sein).
Auf deiner angegebenen Seite hast du ja der Shoutbox auch folgerichtig die entsprechende ID (shoutboxFrame) ergänzt.


Du könntest einfach mal alles einbauen und dann in der Fehler-Konsole nachschauen, ob irgendwelche Errors aufgetreten sind.
Je nach System und Browser findest du die Konsole woanders, in Firefox geht das meistens so:
Firefox-Button (oben links) -> Web-Entwickler -> Web-Konsole
Die Punkte Netz und CSS kannst du abwählen, damit nur JavaScript-Fehler angezeigt werden.

Testweise könntest du auch mal die beiden folgenden Zeilen aus dem Skript entfernen:

1
2
3
 
/* <![CDATA[ */
und
/* ]]> */
 


Vielleicht machen diese ja in einem Template Probleme.
Sie sind an sich nicht wichtig, sorgen aber dafür dass HTML-Validators JavaScript-Bereiche nicht unnötig prüfen und als HTML-Fehler ausgeben.

Hoffen wir mal, dass es an dem CDATA-Bereich lag.
Auch wenn es merkwürdig wäre, warum das Template damit nicht klarkommt.
Achte ansonsten auf jeden Fall darauf, dass sonst auch allgemein keine Fehler irgendwo bei der Verschachtelung der HTML-Tags auftreten.
Ich hoffe, dass dies dir behilflich sein kann, ansonsten würde es schlecht aussehen.
Ich drücke dir die Daumen...

#11 RE: Refresh Intervall Dropdown von Movert 01.03.2012 19:15

Ich hab die Skripte wieder entfernt, Header und Footer waren trotzdem wech, dann hab ich die Dropdown Box entfernt, und alles war wieder da, es muss also an der Dropdownbox liegen, aber warum?

#12 RE: Refresh Intervall Dropdown von florian-zier 02.03.2012 17:57

avatar

Hallo Movert,
schade, dass es trotzdem noch nicht funktioniert.

Aber an der Dropdown-Box sollte es eigentlich nicht liegen.
Ich habe die Test-Seite (nochmals im Anhang) einmal mit dem HTML5-Doctype überarbeitet und konform gestaltet, u.a. da dein Forum ja auch auf HTML5 statt XHTML setzt.
Die Validierungs-Tools unter http://validator.w3.org/#validate_by_input und auch http://html5.validator.nu/ melden, dass die Seite komplett HTML5-Valide ist.

Die Änderungen, welche ich durchgeführt habe, waren auch eigentlich nur wegen dem iFrame, der Rest der Seite den ich ergänzt habe war bereits so in Ordnung.
Vor allem das Attribut allowtransparency und die "px" im Height-Attribut waren nicht korrekt:

1
 
<iframe id="shoutboxFrame" width="100%" height="150px" frameborder="0" allowtransparency="true" src="http://241276.shoutbox.de/?extcss=http://weltderrpgs.cwsurf.de/data/myData/taranforenrpg.css"></iframe>
 


HTML5-Valide wäre nun z.B.: diese Variante:

1
 
<iframe id="shoutboxFrame" style="width:100%;height:150px;border:none;" src="http://241276.shoutbox.de/?extcss=http://weltderrpgs.cwsurf.de/data/myData/taranforenrpg.css"></iframe>
 



Aber wie gesagt, ist nach einer kleinen Änderung des iFrames alles eigentlich soweit HTML5-kompatibel.
Ich schätze einfach, dass du evtl. irgendeine Verschachtelung der Tags durcheinander gebracht hast.
Z.B. nach einem TR-Element, bevor noch das Table-Element geschlossen wurde.
Denn sollte ein Skriptfehler vorliegen, dann würde letztendlich nur die Aktualisierung nicht funktionieren, aber das Layout müsste trotzdem stimmen.
Es muss also ziemlich sicher ein Problem bei der Verschachtelung geben.
Probiere einfach einmal andere Einbaustellen aus und teste die Varianten auch mal mit unterschiedlichen Browsern.
Somit vermeidest du falsche Diagnosen, nur weil z.B. der IE etwas nicht richtig darstellt oder beim Firefox ein Plugin einen Fehler verursacht etc. ...

#13 RE: Refresh Intervall Dropdown von Movert 03.03.2012 09:32

Es lag an der Dropdown Box, diese musste im Template eingebaut werden :( im Header sowie im Footer war dieser sonst nichtmehr zu sehen :(

Aber nun funktioniert es, vielen Dank!

#14 RE: Refresh Intervall Dropdown von florian-zier 03.03.2012 18:18

avatar

Hallo Movert,
freut mich, dass es nun doch noch geklappt hat, wunderbar!

Übrigens, falls du mal noch einen anderen iFrame aktualisieren müsstest, kannst du das Skript ganz einfach wiederverwenden.
Überlege dir einen weiteren JS-Variablennamen (egal was für einer) und hänge diesen genauso wie iframeShoutbox in folgender Zeile einfach gleich noch dahinter.

1
 
var iframeShoutbox = null;
 


Dadurch hast du ein neues Objekt für die Aktualisierung vorbereitet.

Dann wird innerhalb der Anführungszeichen des Onload-Attributes im BodyTag noch ein weiterer Befehl ergänzt, wie eben vorher:

1
 
iframeShoutbox=(new iframeReloader('shoutboxFrame',-1));
 


Statt iframeShoutbox auch hier den neu gewählten Variablennamen einsetzen und statt 'shoutboxFrame' eben die ID des neuen iFrames.


Also im Endeffekt sieht das in etwa so:

1
2
3
 
...
var iframeShoutbox = null;
var andererIframe = null;
 


und so aus:

1
 
<body onload="iframeShoutbox=(new iframeReloader('shoutboxFrame',-1)); andererIframe=(new iframeReloader('neuerFrameID',-1));">
 




Das Skript wurde nämlich allgemein für iFrame-Refreshs erstellt und kann auf beliebig viele angewendet werden.
Für jeden iFrame muss nur einmal ein neues Objekt erstellt und im Onload dann mit dem entsprechenden iFrame letztendlich gefüllt werden.

Natürlich muss noch in der neuen Select-Liste statt iframeShoutbox im Onchange der neue hinzugekommene Variablenname eingesetzt werden, da sie sich sonst auf den ersten iFrame auswirkt.


So kannst du beliebig viele iFrames neuladen lassen und ggf. mit mehreren Select-Boxen versehen.
Aber das nur noch als Ergänzung zum Schluss, oder falls jemand anderes nach einer allgemeinen Variante für Aktualisierungen von Frames sucht.
Ich schätze mal, dass es in deinem Forum bei dem einen bleiben wird.

Die Hauptsache ist, dass nun alles funktioniert.
Dann noch ein schönes Wochenende...

Xobor Forum Software von Xobor
Einfach ein eigenes Forum erstellen
Datenschutz