javascript – SELFHTML-Forum Forum als Ergänzung zum SELFHTML-Wiki und zur Dokumentation SELFHTML https://forum.selfhtml.org/self javascript Thu, 05 Jun 14 08:29:01 Z https://forum.selfhtml.org/self/2014/jun/5/javascript/1612952#m1612952 https://forum.selfhtml.org/self/2014/jun/5/javascript/1612952#m1612952 <p>Hallo,</p> <p>ich brächte bitte eure Hilfe zum Thema Javascript.<br> Für euch bestimmt eine Kleinigkeit, aber für mich ist Javascript Neuland.</p> <p>Zum Problem...<br> Ich habe auf <a href="http://jsfiddle.net/htmlistoll/dL832/" rel="noopener noreferrer">JSFiddle</a> eine vereinfachte form meines Anliegens hochgeladen.<br> Auf meiner Webseite (default.html) habe ich einige Links (link1, link2, link3), die in einem iframe (dasiframe.html - diese html Datei ist vom Inhalt leer) geöffnet werden.<br> Ich möchte das "link4" den aktuellen Link, der gerade im iframe geöffnet ist, öffnet ... entweder im gleichen fenster (default.html) oder in einem neuen Tab (_blank).<br> Wie geht das?</p> <p>Gruß Alex</p> Frames Thu, 05 Jun 14 09:03:14 Z https://forum.selfhtml.org/self/2014/jun/5/javascript/1612953#m1612953 https://forum.selfhtml.org/self/2014/jun/5/javascript/1612953#m1612953 <p>@@Alex:</p> <p>nuqneH</p> <blockquote> <p>ich brächte bitte eure Hilfe zum Thema Javascript.</p> </blockquote> <p>?? Was hat das mit JavaScript zu tun?</p> <blockquote> <p>Für euch bestimmt eine Kleinigkeit, aber für mich ist Javascript Neuland.</p> <p>Zum Problem...<br> Auf meiner Webseite (default.html) habe ich einige Links (link1, link2, link3), die in einem iframe (dasiframe.html - diese html Datei ist vom Inhalt leer) geöffnet werden.</p> </blockquote> <p>Das ist das Problem. <a href="http://www.subotnik.net/html/frames.html" rel="nofollow noopener noreferrer">Frames sind out.</a> Die Seiten können nicht als Lesezeichen gespeichert werden, die Links nicht an andere weitergegeben werden … Kaputtes Web.</p> <p>Beseitige das Problem. Beseitige Frames.</p> <blockquote> <p>Ich möchte das "link4" den aktuellen Link, der gerade im iframe geöffnet ist, öffnet ... entweder im gleichen fenster (default.html) oder in einem neuen Tab (_blank).<br> Wie geht das?</p> </blockquote> <p>Mit dem target-Attribut.</p> <p>Qapla'</p> <div class="signature">-- <br> „Talente finden Lösungen, Genies entdecken Probleme.“ (Hans Krailsheimer) </div> Frames Thu, 05 Jun 14 09:22:46 Z https://forum.selfhtml.org/self/2014/jun/5/javascript/1612962#m1612962 https://forum.selfhtml.org/self/2014/jun/5/javascript/1612962#m1612962 <p>Siehe auch den vorherigen Thread:</p> <p><a href="https://forum.selfhtml.org/?t=217510&m=1494253" rel="noopener noreferrer">https://forum.selfhtml.org/?t=217510&m=1494253</a></p> <p>Mathias</p> Frames Thu, 05 Jun 14 10:00:54 Z https://forum.selfhtml.org/self/2014/jun/5/javascript/1612954#m1612954 https://forum.selfhtml.org/self/2014/jun/5/javascript/1612954#m1612954 <blockquote> <blockquote> <p>ich brächte bitte eure Hilfe zum Thema Javascript.</p> </blockquote> <p>?? Was hat das mit JavaScript zu tun?</p> </blockquote> <p>Weil ich denke, dass man das nur mit JavaScript realisieren kann. Wenns ohne geht, wärs natürlich noch besser.</p> <blockquote> <blockquote> <p>Für euch bestimmt eine Kleinigkeit, aber für mich ist Javascript Neuland.</p> <p>Zum Problem...<br> Auf meiner Webseite (default.html) habe ich einige Links (link1, link2, link3), die in einem iframe (dasiframe.html - diese html Datei ist vom Inhalt leer) geöffnet werden.</p> </blockquote> <p>Das ist das Problem. <a href="http://www.subotnik.net/html/frames.html" rel="nofollow noopener noreferrer">Frames sind out.</a> Die Seiten können nicht als Lesezeichen gespeichert werden, die Links nicht an andere weitergegeben werden … Kaputtes Web.</p> <p>Beseitige das Problem. Beseitige Frames.</p> </blockquote> <p>Danke, ich nehme das zur Kenntnis, jedoch möchte ich trotzdem mit einem frame arbeiten.</p> <blockquote> <blockquote> <p>Ich möchte das "link4" den aktuellen Link, der gerade im iframe geöffnet ist, öffnet ... entweder im gleichen fenster (default.html) oder in einem neuen Tab (_blank).<br> Wie geht das?</p> </blockquote> <p>Mit dem target-Attribut.</p> </blockquote> <p>Das ich das Ziel (gleiches Fenster - deafault.html oder neuer Tab - _blank) mit dem target-Attribut auswählen kann, wusste ich. Was ich nicht weiss, ist WIE ich den aktuellen im iframe geöffnetten Link auslesen kann und in einen anderen Link (in href) einfügen kann. Nur darum gehts mir.</p> <p>Mfg Alex</p> Frames Thu, 05 Jun 14 11:04:47 Z https://forum.selfhtml.org/self/2014/jun/5/javascript/1612955#m1612955 https://forum.selfhtml.org/self/2014/jun/5/javascript/1612955#m1612955 <blockquote> <p>WIE ich den aktuellen im iframe geöffnetten Link auslesen kann und in einen anderen Link (in href) einfügen kann. Nur darum gehts mir.</p> </blockquote> <p><code class="language-javascript">location<span class="token punctuation">.</span>href <span class="token operator">=</span> window<span class="token punctuation">.</span>frames<span class="token punctuation">.</span><span class="token constant">IFRAMENAME</span><span class="token punctuation">.</span>location<span class="token punctuation">.</span>href<span class="token punctuation">;</span></code></p> <p>location.href ist eine Eigenschaft, die sich per Wertzuweisung setzen lässt.</p> <p>Schematisch:<br> aktuelle URL = URL der Seite im iframe.</p> <p>Inhaltlich hatte ich das <a href="https://forum.selfhtml.org/?t=217510&m=1494275" rel="noopener noreferrer">schon erklärt</a>.</p> <p>Mathias</p> <div class="signature">-- <br> <a href="http://chaplinjs.org/" rel="nofollow noopener noreferrer">Chaplin.js - JavaScript application architecture on top of Backbone.js</a> </div> Frames Fri, 06 Jun 14 06:26:57 Z https://forum.selfhtml.org/self/2014/jun/5/javascript/1612956#m1612956 https://forum.selfhtml.org/self/2014/jun/5/javascript/1612956#m1612956 <p>Hi,</p> <blockquote> <p><code class="language-javascript">location<span class="token punctuation">.</span>href <span class="token operator">=</span> window<span class="token punctuation">.</span>frames<span class="token punctuation">.</span><span class="token constant">IFRAMENAME</span><span class="token punctuation">.</span>location<span class="token punctuation">.</span>href<span class="token punctuation">;</span></code></p> </blockquote> <p>ich habe das <a href="http://jsfiddle.net/htmlistoll/dL832/" rel="noopener noreferrer">JSFiddle</a> aktualisiert mit dem was du mir geschrieben hast.<br> Es funktioniert leider immer noch nicht.<br> Im link4 steht</p> <pre><code class="block language-html"><span class="token tag"><span class="token tag"><span class="token punctuation"><</span>a</span> <span class="token attr-name">id</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>link4<span class="token punctuation">"</span></span> <span class="token attr-name">href</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>default.html<span class="token punctuation">"</span></span> <span class="token special-attr"><span class="token attr-name">onclick</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span><span class="token value javascript language-javascript"><span class="token function">machwas</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token keyword">return</span> <span class="token boolean">false</span><span class="token punctuation">;</span></span><span class="token punctuation">"</span></span></span> <span class="token attr-name">target</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>_blank<span class="token punctuation">"</span></span><span class="token punctuation">></span></span>pdf auf default.html öffnen<span class="token tag"><span class="token tag"><span class="token punctuation"></</span>a</span><span class="token punctuation">></span></span> </code></pre> <p>drin. Versucht hatte ich das auch so schon:</p> <pre><code class="block language-html"><span class="token tag"><span class="token tag"><span class="token punctuation"><</span>a</span> <span class="token attr-name">id</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>link4<span class="token punctuation">"</span></span> <span class="token attr-name">href</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>javascript:machwas();<span class="token punctuation">"</span></span> <span class="token attr-name">target</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>_blank<span class="token punctuation">"</span></span><span class="token punctuation">></span></span>pdf auf default.html öffnen<span class="token tag"><span class="token tag"><span class="token punctuation"></</span>a</span><span class="token punctuation">></span></span> </code></pre> <p>(<a href="http://www.webmasterpro.de/coding/article/javascript-einbinden-in-html.html" rel="nofollow noopener noreferrer">QUELLE</a> dazu hab ich gegoogelt)</p> <p>Fazit ist, dass es nicht funkntioniert.</p> <p>Bitte nochmal um Hilfe.</p> <p>Gruß Alex</p> Frames Fri, 06 Jun 14 07:40:13 Z https://forum.selfhtml.org/self/2014/jun/5/javascript/1612957#m1612957 https://forum.selfhtml.org/self/2014/jun/5/javascript/1612957#m1612957 <p>Hallo,</p> <blockquote> <blockquote> <p><code class="language-javascript">location<span class="token punctuation">.</span>href <span class="token operator">=</span> window<span class="token punctuation">.</span>frames<span class="token punctuation">.</span><span class="token constant">IFRAMENAME</span><span class="token punctuation">.</span>location<span class="token punctuation">.</span>href<span class="token punctuation">;</span></code></p> </blockquote> <p>ich habe das <a href="http://jsfiddle.net/htmlistoll/dL832/" rel="noopener noreferrer">JSFiddle</a> aktualisiert mit dem was du mir geschrieben hast.</p> </blockquote> <p>Der obige Befehl kommt in deinem Beispiel noch nicht vor. Du kannst ihn in das onclick-Attribut schreiben</p> <p>onclick="<code class="language-javascript">location<span class="token punctuation">.</span>href <span class="token operator">=</span> window<span class="token punctuation">.</span>frames<span class="token punctuation">.</span>nameiframe<span class="token punctuation">.</span>location<span class="token punctuation">.</span>href<span class="token punctuation">;</span> <span class="token keyword">return</span> <span class="token boolean">false</span></code>"</p> <p>oder ein eine externe Funktion, wie du gezeigt hast</p> <p>onclick="<code class="language-javascript"><span class="token function">machwas</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token keyword">return</span> <span class="token boolean">false</span></code>"</p> <p>Dann musst du die Funktion aber auch definieren:</p> <pre><code class="block language-html"><span class="token tag"><span class="token tag"><span class="token punctuation"><</span>script</span><span class="token punctuation">></span></span> [code lang=javascript]function machwas() { location.href = window.frames.nameiframe.location.href; } </code></pre> <p></script>[/code]</p> <p><a href="https://forum.selfhtml.org/?t=217510&m=1494275" rel="noopener noreferrer">Wie gesagt</a>, das Beispiel wird nicht funktionieren, weil die PDFs von einem anderen Server geladen werden. Das Auslesen der Adresse des Iframes ist dann nicht möglich.</p> <p>Bitte mache dich einmal mit den Grundlagen von JavaScript vertraut, sonst ist es so gut wie unmöglich, dass dir Lösungwege aufgezeigt werden.</p> <p>Grüße,<br> Mathias</p> <div class="signature">-- <br> <a href="http://chaplinjs.org/" rel="nofollow noopener noreferrer">Chaplin.js - JavaScript application architecture on top of Backbone.js</a> </div> Frames Fri, 06 Jun 14 13:46:30 Z https://forum.selfhtml.org/self/2014/jun/5/javascript/1612958#m1612958 https://forum.selfhtml.org/self/2014/jun/5/javascript/1612958#m1612958 <p>Hey,</p> <blockquote> <blockquote> <p>ich habe das <a href="http://jsfiddle.net/htmlistoll/dL832/" rel="noopener noreferrer">JSFiddle</a> aktualisiert mit dem was du mir geschrieben hast.</p> </blockquote> </blockquote> <p>Nein habe ich nicht :D ... sry, hatte wohl die falsche Version reinkopiert, hier jetzt aber die <a href="http://jsfiddle.net/htmlistoll/Jwv3B/" rel="noopener noreferrer">aktualisierte Version</a>.</p> <blockquote> <p>Der obige Befehl kommt in deinem Beispiel noch nicht vor. Du kannst ihn in das onclick-Attribut schreiben</p> </blockquote> <p>Jetzt aber :)</p> <blockquote> <p>onclick="<code class="language-javascript">location<span class="token punctuation">.</span>href <span class="token operator">=</span> window<span class="token punctuation">.</span>frames<span class="token punctuation">.</span>nameiframe<span class="token punctuation">.</span>location<span class="token punctuation">.</span>href<span class="token punctuation">;</span> <span class="token keyword">return</span> <span class="token boolean">false</span></code>"</p> </blockquote> <p>Hatte das so auch schon versucht (ohne Erfolg), aber finde es mit der Funktion besser. So wie Sie in der aktuellen JSFiddle Version ist.</p> <blockquote> <p><a href="https://forum.selfhtml.org/?t=217510&m=1494275" rel="noopener noreferrer">Wie gesagt</a>, das Beispiel wird nicht funktionieren, weil die PDFs von einem anderen Server geladen werden. Das Auslesen der Adresse des Iframes ist dann nicht möglich.</p> </blockquote> <p>Das habe ich auch beachtet, bei mir teste ich das natürlich mit lokalen pdf Dateien, die auch im gleichen Ordner liegen, wie die default.html und die iframe html datei.<br> Hatte nur vergessen das zu erwähnen.</p> <blockquote> <p>Bitte mache dich einmal mit den Grundlagen von JavaScript vertraut, sonst ist es so gut wie unmöglich, dass dir Lösungwege aufgezeigt werden.</p> </blockquote> <p>Da bin ich aktuell ja auch dran. Die Syntax verstehe ich schon so langsam, mehr und mehr :)<br> Ich habe auch mehr Javagedöns in meiner Webseite drin, aber die Sache mit dem href aus iframe auslesen habe ich alleine einfach nicht hingekriegt.</p> <p>Und es läuft auch jetzt noch nicht. Wie im aktuellen JSFiddle zu sehen, habe ich es egtl. genau so drin stehen, wie du es in deinem letzten Post geschrieben hast (natürlich bei mir mit lokalen PDF-Dateien die im gleichen Ordner liegen).</p> <p>Was passiert ist, dass wenn ich link1, link2 oder link3 anklicke und die PDF im iframe geöffnet wird und dann auf link4 ("pdf auf default.html öffnen") (in diesem Beispiel mit _blank) klicke, er einfach ein neuen Tab mit der default.html öffnet, also er ladet sozusagen die default.html neu, öffnen nicht die aktuell im iframe geladene PDF-Datei in der default.html :S</p> <p>Bitte um Hilfe :)</p> <p>Gruß Alex</p> Frames Fri, 06 Jun 14 14:10:58 Z https://forum.selfhtml.org/self/2014/jun/5/javascript/1612960#m1612960 https://forum.selfhtml.org/self/2014/jun/5/javascript/1612960#m1612960 <p>Hallo,</p> <blockquote> <p>Wie im aktuellen JSFiddle zu sehen, habe ich es egtl. genau so drin stehen, wie du es in deinem letzten Post geschrieben hast (natürlich bei mir mit lokalen PDF-Dateien die im gleichen Ordner liegen).</p> </blockquote> <p>Teste so etwas besser nicht mit JSFiddle, das ist verwirrend.</p> <p>Du hast JSFiddle so eingestellt, dass dein JavaScript-Code vergepackt wird und beim window.onload ausgeführt wird. Du müsstest oben links auf »no wrap - in <body>« umstellen. Aber teste lieber lokal mit einer simplen HTML-Datei.</p> <blockquote> <p>Was passiert ist, dass wenn ich link1, link2 oder link3 anklicke und die PDF im iframe geöffnet wird und dann auf link4 ("pdf auf default.html öffnen") (in diesem Beispiel mit _blank) klicke, er einfach ein neuen Tab mit der default.html öffnet</p> </blockquote> <p>Dann tritt vermutlich ein JavaScript-Fehler auf, sodass das Linkziel annavigiert wird. Öffne einmal die JavaScript-Konsole des Browsers, um die Fehlermeldung zu sehen. Ich vermute, es liegt an dem Wrapping von JSFiddle und da steht »ReferenceError: machwas is not defined«.</p> <p>Mathias</p> <div class="signature">-- <br> <a href="http://chaplinjs.org/" rel="nofollow noopener noreferrer">Chaplin.js - JavaScript application architecture on top of Backbone.js</a> </div> Frames Wed, 11 Jun 14 14:50:48 Z https://forum.selfhtml.org/self/2014/jun/5/javascript/1612959#m1612959 https://forum.selfhtml.org/self/2014/jun/5/javascript/1612959#m1612959 <p>Mahlzeit Alex,</p> <blockquote> <p>Was passiert ist, dass wenn ich link1, link2 oder link3 anklicke und die PDF im iframe geöffnet wird und dann auf link4 ("pdf auf default.html öffnen") (in diesem Beispiel mit _blank) klicke, er einfach ein neuen Tab mit der default.html öffnet, also er ladet sozusagen die default.html neu, öffnen nicht die aktuell im iframe geladene PDF-Datei in der default.html :S</p> </blockquote> <p>Nur so mal als Hinweis:</p> <p>Ein Browser kann eine PDF-Datei *NIEMALS* in einem HTML-Dokument "laden"!</p> <p>Was ein Browser kann, ist eine Ressource (d.h. irgendetwas, was er sich von irgendwo holen kann - sei es lokales Dateisystem, irgendein [Netzwerk-]Laufwerk oder irgendein Web-/FTP-/o.ä.-Server) in einem (I)Frame darstellen.</p> <p>MfG,<br> EKKi</p> <div class="signature">-- <br> sh:( fo:| ch:? rl:( br:& n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:| </div> Frames Wed, 11 Jun 14 07:48:58 Z https://forum.selfhtml.org/self/2014/jun/5/javascript/1612961#m1612961 https://forum.selfhtml.org/self/2014/jun/5/javascript/1612961#m1612961 <p>Hi,</p> <blockquote> <blockquote> <p>Wie im aktuellen JSFiddle zu sehen, habe ich es egtl. genau so drin stehen, wie du es in deinem letzten Post geschrieben hast (natürlich bei mir mit lokalen PDF-Dateien die im gleichen Ordner liegen).</p> </blockquote> <p>Teste so etwas besser nicht mit JSFiddle, das ist verwirrend.</p> <p>Du hast JSFiddle so eingestellt, dass dein JavaScript-Code vergepackt wird und beim window.onload ausgeführt wird. Du müsstest oben links auf »no wrap - in <body>« umstellen. Aber teste lieber lokal mit einer simplen HTML-Datei.</p> </blockquote> <p>So mache ich das auch, ich teste das Ganze grundsätzlich NUR lokal mit lokalen Dateien =)<br> Ich kopiere meine Ergebnisse nur in JSFiddle rein, damit ihr den Code mal in action seht.</p> <blockquote> <blockquote> <p>Was passiert ist, dass wenn ich link1, link2 oder link3 anklicke und die PDF im iframe geöffnet wird und dann auf link4 ("pdf auf default.html öffnen") (in diesem Beispiel mit _blank) klicke, er einfach ein neuen Tab mit der default.html öffnet</p> </blockquote> <p>Dann tritt vermutlich ein JavaScript-Fehler auf, sodass das Linkziel annavigiert wird. Öffne einmal die JavaScript-Konsole des Browsers, um die Fehlermeldung zu sehen. Ich vermute, es liegt an dem Wrapping von JSFiddle und da steht »ReferenceError: machwas is not defined«.</p> </blockquote> <p>Wie gesagt, ich teste ja nicht mit JSFiddle.<br> Ich habe jetzt mal mit dem Internet Explorer die html Datei debugged (F12, STRG+3).<br> Das ist <a href="http://img5.fotos-hochladen.net/uploads/2tfz2bia8nw.jpg" rel="nofollow noopener noreferrer">das Ergebnis</a>.<br> Mit der Fehlermeldung kann ich nichts anfangen, bitte nochmal um Hilfe.</p> <p>Gruß Alex</p> Frames Thu, 05 Jun 14 10:03:00 Z https://forum.selfhtml.org/self/2014/jun/5/javascript/1612963#m1612963 https://forum.selfhtml.org/self/2014/jun/5/javascript/1612963#m1612963 <blockquote> <p>Siehe auch den vorherigen Thread:</p> <p><a href="https://forum.selfhtml.org/?t=217510&m=1494253" rel="noopener noreferrer">https://forum.selfhtml.org/?t=217510&m=1494253</a></p> </blockquote> <p>ich beobachte beide Threads, im alten Thread kam ich leider nicht zu einer Lösung.<br> Hatte gehofft, dass das Problem in diesem Thread mit JSFiddle leichter zu verstehen ist.</p> <p>Gruß Alex</p>