<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>leine.info &#187; Frames</title>
	<atom:link href="http://leine.info/tag/frames/feed/" rel="self" type="application/rss+xml" />
	<link>http://leine.info</link>
	<description>Discover my public and private World.</description>
	<lastBuildDate>Thu, 22 Dec 2011 13:57:16 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Prototype und Frames</title>
		<link>http://leine.info/2009/01/prototype-und-frames/</link>
		<comments>http://leine.info/2009/01/prototype-und-frames/#comments</comments>
		<pubDate>Tue, 27 Jan 2009 09:04:54 +0000</pubDate>
		<dc:creator>jleine</dc:creator>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Frames]]></category>
		<category><![CDATA[Prototype]]></category>

		<guid isPermaLink="false">http://leine.info/?p=81</guid>
		<description><![CDATA[Da ich Framesets in der Regel verabscheue und meine Kenntnisse etwas eingestaubt sind, stand ich neulich vor dem trivialen Problem mit Hilfe von Prototype auf ein DOM Element in einem anderen Frame zuzugreifen. Wenn man nämlich den Frame wechseln muss, &#8230; <a href="http://leine.info/2009/01/prototype-und-frames/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Da ich Framesets in der Regel verabscheue und meine Kenntnisse etwas eingestaubt sind, stand ich neulich vor dem trivialen Problem mit Hilfe von Prototype auf ein DOM Element in einem anderen Frame zuzugreifen. Wenn man nämlich den Frame wechseln muss, dann hilft einem die magic knife Funktion $(DOMElement) nicht wirklich weiter, da in diesem Falle nur im DOM des aktuellen Frames gesucht wird. Die einfachste Variante wäre in diesem Falle, den Namen des Frames voranzustellen, also z.B. so: frameName.$(DOMElement). <span id="more-81"></span></p>
<p>Doch was ist, wenn man nun ein allgemeine Funktion schreiben will, in der der Name des Frames dynamisch übergeben wird? In diesem Fall kann man die einfache Notation von oben nicht verwenden.</p>
<p>Ein kurzer Blick in meine JavaScript Bibel, <a href="http://www.amazon.de/JavaScript-The-Definitive-Guide/dp/0596101996">JavaScript the Definitive Guide</a>, brachte dann die Erkenntnis. Zuerst einmal geht man einfach davon aus, dass man zur Laufzeit sich in einem Frame befindet. Sollte der Frame gewechselt werden, greift man zunächst auf parent, also das FrameSet zu. Von dort aus können wir mit der $(domElement) Funktion auf das gewollte Frame zugreifen, voraussgesetzt es verwendet eine id.</p>
<p>[code lang='xhtml']<br />
<frameset rows="100,*"><br />
  <frame name="topFrame" id="topFrame" src="top.html" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" noresize="noresize" ><br />
  <frameset cols="250,*"><br />
      <frame name="leftFrame" id="leftFrame" src="left.html" frameborder="0" marginwidth="0" marginheight="0" scrolling="yes"><br />
    <frame name="mainFrame" id="mainFrame" src="mainFrame.html" frameborder="0" marginwidth="0" marginheight="0"><br />
    </frameset><br />
    <noframes><br />
      <body></p>
<div>
          Das HTML-Frameset kann von Ihrem Browser leider nicht angezeigt werden.
        </div>
<p>      </body><br />
    </noframes><br />
</frameset><br />
[/code]</p>
<p>Nehmen wir also an, daß unsere JS Code gerade in leftFrame ausgeführt wird und das wir in mainFrame auf ein DOM Element zugreifen wollen. Wir müssen also von leftFrame auf parent, dann auch mainFrame, dann auf dessen DOM und dort das DOMElement suchen. Hier nun der korrekte JS Code</p>
<p>[code lang='javascript']<br />
parent.$(mainFrame).contentDocument.defaultView.$(domElement)<br />
[/code]</p>
]]></content:encoded>
			<wfw:commentRss>http://leine.info/2009/01/prototype-und-frames/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

