Ajax/Javascript Problem mit Safari

mänu

Grünschnabel
hallo zusammen,

auf der sucha nach einer loesung meines problems bin ich auf folgende seite gestossen:http://www.supertopic.de/forum/5/ajax-javascript-problem-im-safari-6785-post228768.html#post228768
das ist der einzige beitrag mit einem aehnlichen problem, den ich gefunden habe.leider bringt er keine abhilfe. ich hoffe hier hat jemand eine idee.

auf meiner seite werden html dateien mit hilfe von jquery per ajax in divs geladen. alle browser machen dies anstandslos. nur der safari browser uebergibt die javascripts der html dateien nicht bzw ignoriert sie einfach. mit safari wird die seite daher nutzlos.


viele gruesse
manu
 
Sorry, ist so ne Angewohnheit alles kleine zu schreiben :)

Diese Funktion steht im JavaScript:
HTML:
 <script type="text/javascript">
jQuery(function(){	
         var api = jQuery('#zieldiv').jScrollPane().data('jsp');
         jQuery('#GetContent1').bind('click',function(){
                 api.getContentPane().load('zieldatei1.html');return false;});
         });
    </script>

Aufgerufen wird sie durch den zugehoerigen Menuepunkt durch
HTML:
<a href="#" id="GetContent1">Menuepunkt1</a>

Es wird also durch Klick auf Menuepunkt1 die zieldatei1.html in das zieldiv geladen. Genauere Erlaeuterung folgt weiter unten. Das funktioniert wie gesagt auch mit allen Browsern. Wenn nun aber die zieldatei1.html JavaScript und CSS im Header enthaelt, werden diese vom Safari Browser ignoriert (bei allen anderen funktioniert es).

Die zieldatei1.html sieht ungefaehr so aus:
HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de-de" lang="de-de">
   <head> 
          <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
          <title>MeineSeite</title>
          <style type="text/css">
            .....
          </style>
          <script type="text/javascript">
                jQuery(function(){	
                      var api = jQuery('#zieldiv').jScrollPane().data('jsp');
                      jQuery('#GetContent2').bind('click',function(){
                             api.getContentPane().load('zieldatei2.html');return false;});
                });
          </script>
   </head>
   <body>
      .....
     <a href="#" id="GetContent2">Weiter</a>
   </body>
</html>
Es handelt sich bei den Zieldateien um verschiedene Layouts einer Sedcard. Durch einen Klick auf "Weiter" wird das naechste Layout angezeigt. Ums auf den Code zu beziehen: Die jQuery Funktion wird durch Klick auf die ID GetContent2 ausgefuehrt und laedt nun zieldatei2.html in das zieldiv und zeigt wenn noetig eine schoene, auf die Seite angepasste Scrollbar (JScrollPane) anstatt der Browsertypischen an.

Nun nochmal zum Safari:
Alles im Header wird ignoriert. Wenn ich nun die CSS Formatierung in die einzelnen HTML Tags einbinde, anstatt im Header, wird sie auch bei Safari ausgefuehrt. Dies ist mit dem benoetigten JavaScript glaube ich nicht moeglich. Ich wuesste nicht wie und wo ich die in ein HTML Tag einbauen sollte, da sie auf einen Klick auf eine ID, aber ohne einen Eventhandler, ausgefuehrt wird.

Ich hoffe das reicht aus und hilft, einen Eindruck zu bekommen. Nur ungern wuerde ich Safari User aus meiner Seite ausschliessen. Daher ist jede Idee willkommen. :)

Viele Gruesse und vielen Danke

Manu
 
Zurück