Merlin P.: Object und der wechsel des Attribute data

Hallo,

ich habe mich nun nach langem versuchen und testen dazu entschlossen von Frames zu Iframes bzw. jetzt zu Objekten zu wechseln.

Bei Frames und IFrames ist es ja kein großes Problem den Inhalt zu wechseln (target=frame und fertig).
Bei Objekten ist das ja nun ein wenig schwieriger.

Im Netz bin ich auf folgenden Schnippsel getreten:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">  
<html>  
<head>  
<title>Test</title>  
<script language="JavaScript">  
function doPage()  
{  
    var objTag = document.getElementById("contentarea");  
    if (objTag != null)  
    {  
        objTag.setAttribute('data', 'Test2.html');  
        alert('Page should have been changed');  
    }  
}  
</script>  
</head>  
<body>  
<form name="Form1" method="POST">  
<p><input type="button" value="Click to change page" onclick="doPage();" /></p>  
<object style="visibility: visible; border: none;" standby="loading data" id="contentarea" title="loading" width="100%" height="53%" type="text/html" data="test1.html"></object>  
</form>  
</body>  
</html>  

Doch ich habe ein Dropdownmenu und würde das ganze ganz gerne mit mehreren Links versehen (Es handelt sich um eine Gesetztessammlung, welche meist als PDF vorliegen; das ganze ist komplett offline, also ohne PHP oder sonstiges zu realisieren!)

Wie könnte man sowas realisieren ohne für jedes PDF eine neue Funktion zu erstellen oder geht es nicht anders?

Warum ich von Iframes auf Objekt gewechselt habe, wo doch Standards in diesem Fall wurscht sind ist folgender: Unsere Systemadmins kriegen es nicht hin Adobe zu updaten und somit friert, zumindest bei uns, die Page ein wenn man versucht ein PDF in einen Iframe zu laden. Könnte aber auch am IE6 liegen -.-

Mit Objekten hat der AdobeReader komischerweise kein Problem!

Ich hoffe ihr könnt mir da weiterhelfen!

Grüße

Merlin

  1. Hi,

    Doch ich habe ein Dropdownmenu und würde das ganze ganz gerne mit mehreren Links versehen (Es handelt sich um eine Gesetztessammlung, welche meist als PDF vorliegen; das ganze ist komplett offline, also ohne PHP oder sonstiges zu realisieren!)

    Wie könnte man sowas realisieren ohne für jedes PDF eine neue Funktion zu erstellen oder geht es nicht anders?

    In dem man eine Funktion schreibt, die Parameter übergeben bekommen kann.

    http://de.selfhtml.org/javascript/sprache/funktionen.htm

    MfG ChrisB

    --
    The most exciting phrase to hear in science, the one that heralds new discoveries, is not “Eureka!” but “That's funny...” [Isaac Asimov]
  2. Hallo,

    ich habe mich nun nach langem versuchen und testen dazu entschlossen von Frames zu Iframes bzw. jetzt zu Objekten zu wechseln.

    Bei Frames und IFrames ist es ja kein großes Problem den Inhalt zu wechseln (target=frame und fertig).
    Bei Objekten ist das ja nun ein wenig schwieriger.

    Im Netz bin ich auf folgenden Schnippsel getreten:

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

    <html>
    <head>
    <title>Test</title>
    <script language="JavaScript">
    function doPage()
    {
        var objTag = document.getElementById("contentarea");
        if (objTag != null)
        {
            objTag.setAttribute('data', 'Test2.html');
            alert('Page should have been changed');
        }
    }
    </script>
    </head>
    <body>
    <form name="Form1" method="POST">
    <p><input type="button" value="Click to change page" onclick="doPage();" /></p>
    <object style="visibility: visible; border: none;" standby="loading data" id="contentarea" title="loading" width="100%" height="53%" type="text/html" data="test1.html"></object>
    </form>
    </body>
    </html>

    
    >   
    > Doch ich habe ein Dropdownmenu und würde das ganze ganz gerne mit mehreren Links versehen (Es handelt sich um eine Gesetztessammlung, welche meist als PDF vorliegen; das ganze ist komplett offline, also ohne PHP oder sonstiges zu realisieren!)  
    >   
    > Wie könnte man sowas realisieren ohne für jedes PDF eine neue Funktion zu erstellen oder geht es nicht anders?  
    >   
    > Warum ich von Iframes auf Objekt gewechselt habe, wo doch Standards in diesem Fall wurscht sind ist folgender: Unsere Systemadmins kriegen es nicht hin Adobe zu updaten und somit friert, zumindest bei uns, die Page ein wenn man versucht ein PDF in einen Iframe zu laden. Könnte aber auch am IE6 liegen -.-  
    >   
    > Mit Objekten hat der AdobeReader komischerweise kein Problem!  
    >   
    > Ich hoffe ihr könnt mir da weiterhelfen!  
    >   
    > Grüße  
    >   
    > Merlin  
      
    mit adobe pfd-viewer klapp das auch nciht
    
    1. mit adobe pfd-viewer klapp das auch nciht

      Wie du meinen? Also zwischen 2 PDFs wechseln klappt bei mir wunderbar!

        
      <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">  
      <html>  
      <head>  
      <title>Test</title>  
      <script language="JavaScript">  
      function doPage()  
      {  
          var objTag = document.getElementById("contentarea");  
          if (objTag != null)  
          {  
              objTag.setAttribute('data', 'http://www.wizards.com/dci/downloads/MTG_MTR_1Jul10_EN.pdf');  
          }  
      }  
      </script>  
      </head>  
      <body>  
      <p onmouseover='document.getElementById("contentarea").style.visibility = "hidden"'; onmouseout='document.getElementById("contentarea").style.visibility = "visible"';>Fahr mit der Maus über mich!</p>  
      <p style="cursor: pointer;" onclick='document.getElementById("contentarea").style.visibility = (document.getElementById("contentarea").style.visibility == "visible")?"hidden":"visible";'>Klick mich</p>  
      <p style="cursor: pointer;" onclick="doPage();" />Test</p>  
      <object style="visibility: visible; border: none;" standby="loading data" id="contentarea" title="loading" width="100%" height="53%" data="http://www.mccms.mediacluster.de/media/0000000043.pdf"></object>  
      </form>  
      </body>  
      </html>
      

      Bin so gerade ein wenig am Testen, die ersten beiden <p> sind nur zum testen umd das Object auszublenden.

      Was das Übergeben in der Funktion angeht steh ich gerade total auf dem Schlauch.
      Dieser Teil
      <p style="cursor: pointer;" onclick="doPage();" />Test</p>
      müsste doch an sich irgentwie so aussehen
      <p style="cursor: pointer;" onclick="doPage('http://www.wizards.com/dci/downloads/MTG_MTR_1Jul10_EN.pdf');" />Test</p>

      Oder sehe ich das falsch?
      Nur wie muss ich jetzt die funktion doPage() umschreiben?
      Javascript ist mir da irgentwie zu hoch...

      Grüße

      Merlin

      1. Hat sich erledigt, bin vom Schlauch runter xD

          
        <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">  
        <html>  
        <head>  
        <title>Test</title>  
        <script language="JavaScript">  
        function doPage(nSite)  
        {  
            var objTag = document.getElementById("contentarea");  
            if (objTag != null)  
            {  
                objTag.setAttribute('data', nSite);  
            }  
        }  
        </script>  
        </head>  
        <body>  
        <p onmouseover='document.getElementById("contentarea").style.visibility = "hidden"'; onmouseout='document.getElementById("contentarea").style.visibility = "visible"';>Fahr mit der Maus über mich!</p>  
        <p style="cursor: pointer;" onclick='document.getElementById("contentarea").style.visibility = (document.getElementById("contentarea").style.visibility == "visible")?"hidden":"visible";'>Klick mich</p>  
        <a href="javascript:doPage('http://www.wizards.com/dci/downloads/MTG_MTR_1Jul10_EN.pdf');">Test</a>  
        <a href="javascript:doPage('http://www.mccms.mediacluster.de/media/0000000043.pdf');">Test2</a>  
        <object style="border: none;" standby="loading data" id="contentarea" title="loading" width="100%" height="100%" data="http://www.mccms.mediacluster.de/media/0000000043.pdf"></object>  
        </form>  
        </body>  
        </html>
        
  3. Hi,

    ich habe mich nun nach langem versuchen und testen dazu entschlossen von Frames zu Iframes

    also von Frames zu Frames. Wo ist da der Gewinn?

    bzw. jetzt zu Objekten zu wechseln.

    Frames, besonders in ihrer Ausprägung als IFrames, *sind* Objekte, nur dass ihnen noch Fähigkeiten gegeben wurden, die den speziellen Anforderungen gerecht werden sollen. Beim Wechsel von Frames zu <object>-Elementen versuchst Du also, ein mieses Konzept schönzureden, und lässt dabei noch die wenigen vorhandenen Vorteile auf der Strecke.

    Wo ist da der Gewinn?

    Im Netz bin ich auf folgenden Schnippsel getreten:

    Gute Wahl - tritt kräftig drauf. Vergiss aber bitte nicht, anschließend den Boden zu wischen, das ist sonst ekelhaft.

    (Es handelt sich um eine Gesetztessammlung, welche meist als PDF vorliegen; das ganze ist komplett offline, also ohne PHP oder sonstiges zu realisieren!)

    Es existiert kein Weg, PDF-Ressourcen innerhalb meines Browsers darzustellen. Das sind Daten eines proprietären Formats, die - falls installiert - mit externen Applikationen verwendet werden. Behandle sie entsprechend und verlasse Dich *nicht* auf irgendwelche eventuell vorhandenen Browser-Plugins.

    Warum ich von Iframes auf Objekt gewechselt habe, wo doch Standards in diesem Fall wurscht sind ist folgender: Unsere Systemadmins kriegen es nicht hin Adobe zu updaten und somit friert, zumindest bei uns, die Page ein wenn man versucht ein PDF in einen Iframe zu laden. Könnte aber auch am IE6 liegen -.-

    Herrje. Eure Sysadmins verstoßen gegen die Genfer Konvention; Notwehrhandlungen sind in jedem Fall angemessen. Verwende also solange physische Gewalt, bis sie menschenwürdige Umstände geschaffen haben. Falls sie sich wehren sollten, begehen sie Körperverletzung.

    Ich hoffe ihr könnt mir da weiterhelfen!

    Du versuchst, mit aller Brutalität schlechte Dinge noch schlechter zu machen, um einer schlechten Situation gerecht zu werden. Höre auf, hautfarbene Pflaster über meterlange offene Abszesse zu tackern, und behebe die Ursache des Problems.

    Cheatah

    --
    X-Self-Code: sh:( fo:} ch:~ rl:| br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes