php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > HTML, JavaScript, AJAX, jQuery, CSS, Bootstrap, LESS
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


HTML, JavaScript, AJAX, jQuery, CSS, Bootstrap, LESS Probleme mit HTML5, Bootstrap oder jQuery ?

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 02-11-2009, 15:37
TriphunEM
 Registrierter Benutzer
Links : Onlinestatus : TriphunEM ist offline
Registriert seit: Jun 2003
Beiträge: 549
TriphunEM ist zur Zeit noch ein unbeschriebenes Blatt
Lightbulb [gelöst] createElement an bestimmte Position

hallo, ich will eine Javscript-Datei einbinden, die aber nicht gecachte werden darf! Also, denke ich hierbei an diesen Weg, da ich dem SRC einen zufalleswert (z.B. 899342jjd8wf) mitgeben kann.
PHP-Code:
<script type="text/javascript">
    var 
objElement document.createElement('script');
    
objElement.src 'http://www.domain.de/banner-468x60-1-899342jjd8wf3.js';
    
objElement.language 'javascript';
    
objElement.type 'text/javascript';
    ???.
appendChild(objElement);
</script> 
ein normales Einbinden der Javascript-Datei geht nur im FF der scheiß IE cachte immer.

Mein Frage ist, was bzw. wie muss ich das appendChild gestalten, wenn die JS-Datei genau an der Stelle eingebunden werden soll, wo ich den Code aufrufe????

Danke
Mit Zitat antworten
  #2 (permalink)  
Alt 02-11-2009, 15:43
Kropff
  Administrator
Links : Onlinestatus : Kropff ist offline
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.722
Kropff befindet sich auf einem aufstrebenden Ast
Standard

Wie wäre es damit? Du erstellt eine banner.php und bindest die über <script type="text/javascript" src="banner.php> ein. Und in der Datei fängst du hiermit an:
PHP-Code:
<?php
header 
('Cache-Control: no-cache, must-revalidate');
header ('Expires: 0');
header ('Pragma: no-cache');
header ('Content-Type: text/javascript');
?>
Hier dein JS-Code
Peter
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
Mit Zitat antworten
  #3 (permalink)  
Alt 02-11-2009, 16:00
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von TriphunEM Beitrag anzeigen
ein normales Einbinden der Javascript-Datei geht nur im FF der scheiß IE cachte immer.
Dann würde ich es, wie Kropff auch schon vorschlug, wirklich erst mal mit günstigeren Angaben zum gewünschten Caching-Verhalten probieren.

Zitat:
Mein Frage ist, was bzw. wie muss ich das appendChild gestalten, wenn die JS-Datei genau an der Stelle eingebunden werden soll, wo ich den Code aufrufe????
Das wäre nicht ganz trivial.

Du kannst die Position des zum aktuellen Zeitpunkt letzten SCRIPT-Elementes im Dokument nehmen, und dann dein neu erstelltes SCRIPT-Element dahinter hängen.

Aber wie gesagt, wenn man die Angaben zum Caching vernünftig macht, sollte das eigentlich gar nicht nötig sein.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #4 (permalink)  
Alt 02-11-2009, 16:37
TriphunEM
 Registrierter Benutzer
Links : Onlinestatus : TriphunEM ist offline
Registriert seit: Jun 2003
Beiträge: 549
TriphunEM ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Danke!

ja, wie Kropff schon geschrieben hat, mach ich es ja auch. Hinter der JS-Datei liegt ein PHP-Skript und übergebe den Header da:
PHP-Code:
    header("Expires: 0");
    
header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");
    
header("Cache-Control: no-store, no-cache, must-revalidate");
    
header("Cache-Control: post-check=0, pre-check=0"false);
    
header("Pragma: no-cache");
    
header("Content-Type: text/javascript"); 
Im Firefox läuft das auch 1a...aber in IE mal wieder nicht...Wenn ich den Code:
PHP-Code:
<script type="text/javascript" src="http://www.domain.de/banner-468x60-1-subid.js"></script> 
2 oder mehrmals aufruf, nimmt der IE immer nur den ersten Aufruf. Dem scheint es egal zu sein, was hinter der JS-Datei für ein Content ist. Ist der Aufruf identisch greift der gleich zum Cache...

Daher meine Idee von oben...
Mit Zitat antworten
  #5 (permalink)  
Alt 02-11-2009, 16:41
Kropff
  Administrator
Links : Onlinestatus : Kropff ist offline
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.722
Kropff befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von TriphunEM Beitrag anzeigen
ja, wie Kropff schon geschrieben hat, mach ich es ja auch. Hinter der JS-Datei liegt ein PHP-Skript und übergebe den Header da:
Wie liegt das Script dahinter?
Zitat:
Zitat von TriphunEM Beitrag anzeigen
PHP-Code:
<script type="text/javascript" src="http://www.domain.de/banner-468x60-1-subid.js"></script> 
Nicht eher subid.php?

Peter
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
Mit Zitat antworten
  #6 (permalink)  
Alt 02-11-2009, 17:02
Gunah
 Registrierter Benutzer
Links : Onlinestatus : Gunah ist offline
Registriert seit: Oct 2009
Beiträge: 87
Gunah befindet sich auf einem aufstrebenden Ast
Standard

oder häng den UNIXTIMESTAMP dran...

Code:
http://www.domain.de/banner-468x60-1-subid.js?time=123456789
dann ist es für den IE und allen anderen browser auch immer wieder eine Neue Datei.

Kropff's vorschlag ist aber die Beste Variante

Geändert von Gunah (02-11-2009 um 17:13 Uhr)
Mit Zitat antworten
  #7 (permalink)  
Alt 02-11-2009, 18:46
TriphunEM
 Registrierter Benutzer
Links : Onlinestatus : TriphunEM ist offline
Registriert seit: Jun 2003
Beiträge: 549
TriphunEM ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Die JS-Datei verweist via ModRewrite auf die PHP-Datei!
Zitat:
RewriteRule ^banner-([0-9x]+)-([0-9]+)-([a-zA-Z0-9]+).js$ /external/nBanner.php?format=$1&userId=$2&subId=$3 [L]
@Gunah

Das ist ja das Problem. Um den Timestamp anzuhängen brauch ich halt diese eine Variante, die muss aber die Javascript-Datei an der Stelle ausgeben wo ich den Code auch aufrufe! Denn in diesem Aufruf
PHP-Code:
<script type="text/javascript" src="http://www.domain.de/banner-468x60-1-subid.js"></script> 
kann ich keine Javascript ausführen um das SRC zu beeinflussen!
PHP kann ich hier auch nicht einsetzen, weil es sich nur um Javascript-Code handeln darf!!!

?

Geändert von TriphunEM (02-11-2009 um 18:51 Uhr)
Mit Zitat antworten
  #8 (permalink)  
Alt 02-11-2009, 18:53
Gunah
 Registrierter Benutzer
Links : Onlinestatus : Gunah ist offline
Registriert seit: Oct 2009
Beiträge: 87
Gunah befindet sich auf einem aufstrebenden Ast
Standard

und wenn du es via JS machst?
getTime()
und dann halt ähnlich wie bei Google Analytics und co?
Mit Zitat antworten
  #9 (permalink)  
Alt 02-11-2009, 19:08
TriphunEM
 Registrierter Benutzer
Links : Onlinestatus : TriphunEM ist offline
Registriert seit: Jun 2003
Beiträge: 549
TriphunEM ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ja das ist klar, allerdings kann ich das dann nur so machen!
HTML-Code:
<script type="text/javascript">
    var objElement = document.createElement('script');
    objElement.src = 'http://www.domain.de/banner-468x60-1-899342jjd8wf3.js';
    objElement.language = 'javascript';
    objElement.type = 'text/javascript';
    ???.appendChild(objElement);
</script>  
Allerdings kann ich den Code schwer dort ausführen wo ich diese Deklaration gemacht haben, weil ich hier mit AppendChild arbeiten muss...
Mit Zitat antworten
  #10 (permalink)  
Alt 02-11-2009, 19:20
AmicaNoctis
  Moderatorin
Links : Onlinestatus : AmicaNoctis ist offline
Registriert seit: Jul 2009
Beiträge: 5.709
Blog-Einträge: 9
AmicaNoctis sorgt für eine eindrucksvolle AtmosphäreAmicaNoctis sorgt für eine eindrucksvolle Atmosphäre
Standard

Hallo,

es kann ja sein, dass ich das Problem noch nicht ganz verstanden habe, aber ich frag mich die ganze Zeit, warum du nicht (wenn du schon mit PHP arbeitest) die HTML-Seite mit PHP generierst und an das src-Element mit PHP einen Timestamp-Parameter dranhängst?

Gruß,

Amica
Mit Zitat antworten
  #11 (permalink)  
Alt 02-11-2009, 19:27
TriphunEM
 Registrierter Benutzer
Links : Onlinestatus : TriphunEM ist offline
Registriert seit: Jun 2003
Beiträge: 549
TriphunEM ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Weil es sich um eine Javascript-Code handelt, der Werbebanner ausliefert. Oder hast du schon mal ein Google-Adsense-Code gesehen, der PHP voraussetzt?

Der User soll den Javascript-Code in seine Seite einbauen und kein PHP-Code!
Mit Zitat antworten
  #12 (permalink)  
Alt 02-11-2009, 19:30
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von TriphunEM Beitrag anzeigen
Das ist ja das Problem. Um den Timestamp anzuhängen brauch ich halt diese eine Variante, die muss aber die Javascript-Datei an der Stelle ausgeben wo ich den Code auch aufrufe!
Wie das geht, beschrieb ich ja schon.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #13 (permalink)  
Alt 02-11-2009, 19:38
AmicaNoctis
  Moderatorin
Links : Onlinestatus : AmicaNoctis ist offline
Registriert seit: Jul 2009
Beiträge: 5.709
Blog-Einträge: 9
AmicaNoctis sorgt für eine eindrucksvolle AtmosphäreAmicaNoctis sorgt für eine eindrucksvolle Atmosphäre
Standard

Achso,

dann gib dem script-Element ein id-Attribut und dann kannst du statt appendChild das Skript ersetzen:

Code:
var scriptNode = document.getElementById("DIE_ID");
scriptNode.parentNode.replaceChild(objElement, scriptNode);
@wahsaga:
Zitat:
Zitat von wahsaga Beitrag anzeigen
Wie das geht, beschrieb ich ja schon.
Er hat schon geschrieben, dass das im IE nicht zum Erfolg führte.

Geändert von AmicaNoctis (02-11-2009 um 19:41 Uhr)
Mit Zitat antworten
  #14 (permalink)  
Alt 02-11-2009, 19:46
TriphunEM
 Registrierter Benutzer
Links : Onlinestatus : TriphunEM ist offline
Registriert seit: Jun 2003
Beiträge: 549
TriphunEM ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Danke bringt aber auch keine Punkte, da man den Code öfters einbinden kann. Und ich will den User nicht sagen er soll sich für jeden Einbau eine eigene ID einfallen lassen!
Mit Zitat antworten
  #15 (permalink)  
Alt 02-11-2009, 19:56
Benutzerbild von onemorenerd onemorenerd
  Moderator
Links : Onlinestatus : onemorenerd ist offline
Registriert seit: Mar 2005
Ort: Berlin
Beiträge: 9.471
onemorenerd wird schon bald berühmt werdenonemorenerd wird schon bald berühmt werden
Standard

Du musst doch gar nicht mit appendChild() arbeiten. GA macht das auch nicht.

document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[gelöst] <? und <?php parsen Hanniballector Fragen zu Installation & Konfiguration (LAMP, WAMP & Co.) 4 05-11-2009 11:07
IE createElement Problem Anbu HTML, JavaScript, AJAX, jQuery, CSS, Bootstrap, LESS 9 20-01-2009 14:06
gelöst. Lennie Archiv / Trash 1 30-08-2006 00:35
createElement + Tabelle + IE = nix CrazyChaos HTML, JavaScript, AJAX, jQuery, CSS, Bootstrap, LESS 1 25-12-2005 15:04
createElement Byteandi HTML, JavaScript, AJAX, jQuery, CSS, Bootstrap, LESS 7 15-06-2004 11:55

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

Die RIGID-FLEX-Technologie
Die RIGID-FLEX-TechnologieDie sogenannte "Flexible Elektronik" , oftmals auch als "Flexible Schaltungen" bezeichnet, ist eine zeitgemäße Technologie zum Montieren von elektronischen Schaltungen.

06.12.2018 | Berni

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni


 

Aktuelle PHP Scripte

HeidiSQL - kostenloses MySQL front-end Editor für Windows ansehen HeidiSQL - kostenloses MySQL front-end Editor für Windows

HeidiSQL - ist ein Windows-Editor für die bekannt open Source Datenbank mySQL

10.12.2018 Berni | Kategorie: MYSQL/ Management
piwik Open-Source Webanalyse-Software ansehen piwik Open-Source Webanalyse-Software

piwik ist eine gute Alternative zu Google Analytics. Viele Features und ein modernes Erscheinungsbild mit aussagefähigen Statistiken in Echtzeit

10.12.2018 phpler | Kategorie: PHP/ Besucherzaehler
jQuery Mobile ansehen jQuery Mobile

Touch-Optimized Web Framework für Smartphones & Tablets

09.12.2018 phpler | Kategorie: AJAX/ Framework
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 21:29 Uhr.