Forum Doku Wiki Blog

Forumsarchiv 2011, März
prototype: $$() in anderem window anwenden

archivierte Beiträge lesen

  1. (JAVASCRIPT) prototype: $$() in anderem window anwenden von max xam, 01. 03. 2011, 07:10

prototype: $$() in anderem window anwenden

Der folgende Beitrag wurde am 01. 03. 2011, 07:10 Uhr von max xam veröffentlicht.

hallo und guten morgen,
ich würde gerne die $$() funktion
innerhalb eines anderen frames anwenden.

leider gibts es ja nicht die möglichkeit
der funktion $$() das zu verwendende document
zu übergeben, daher frage ich mich wie das funktioniert?

bisher habe ich nur folgende variante gefunden

new Selector('#inj').findElements(top.document);


funktioniert das auch "weniger umständlich",
prototype ist in dem anderen frame ja ebenfalls vorhanden!!!!

danke schonmal

prototype: $$() in anderem window anwenden

Der folgende Beitrag wurde am 01. 03. 2011, 07:19 Uhr von max xam veröffentlicht.

windowFoo.Element.select(, "#injun");

schein wohl eine weitere möglichkeit zu sein,
danke trotzdem schonmal für weitere
vorschläge

prototype: $$() in anderem window anwenden

Der folgende Beitrag wurde am 01. 03. 2011, 08:03 Uhr von max xam veröffentlicht.

bei beiden varianten kann ich nicht auf
.innerHTML zugreifen, bzw. es erscheint als "undefined"

... bin am verzweifeln :/

prototype: $$() in anderem window anwenden

Der folgende Beitrag wurde am 01. 03. 2011, 11:06 Uhr von molily veröffentlicht.

> leider gibts es ja nicht die möglichkeit
> der funktion $$() das zu verwendende document
> zu übergeben, daher frage ich mich wie das funktioniert?

$$ ist eine Funktion beim globalen window-Objekt (angenommen, in dem anderen Frame ist auch Prototype eingebunden, was du ja sagst). Du brauchst also nur auf das window-Objekt des Frames zugreifen, darüber kannst du dann $$ ansprechen.

Wenn du bspw. ein Frameset mit zwei Frames hast a und b, dann kannst du aus dem Dokument in Frame a über parent.b auf das window-Objekt des anderen Frames zugreifen. Also parent.b.$$.

Sämtliche Zugriffsarten sind hier erklärt:
http://de.selfhtml.org/javascript/objekte/frames.htm
http://aktuell.de.selfhtml.org/artikel/javascript/fensterzugriff/

Mathias

prototype: $$() in anderem window anwenden

Der folgende Beitrag wurde am 01. 03. 2011, 16:07 Uhr von max xam veröffentlicht.

gibts ja nicht :D

top.$$('#test').innerHTML;

funktioniert tatsächlich,
ich könnte schwören das hab ich als erstes versucht,
naja war wohl die umnächtigung!

danke dir für den tip, das hätte ich wohl nicht
nochmal versucht, muss mich da wohl iwo vertippt haben.

gruß!

prototype: $$() in anderem window anwenden

Der folgende Beitrag wurde am 01. 03. 2011, 23:56 Uhr von max xam veröffentlicht.

funktioniert leider doch nicht so ganz.
ff kommt damit zwar zurecht aber opera sagt:

var test1 = parent.(window.$$ || functi
-------------------^
expected identifier, got '('

parent.select() funktioniert leider auch nicht
ebensowenig $(parent).select

es kommt beide male: ... is not a function

prototype: $$() in anderem window anwenden

Der folgende Beitrag wurde am 02. 03. 2011, 00:55 Uhr von max xam veröffentlicht.

top.$$ gibt zurück: "function"

aber...

top.$$('test') gibt zurück:

Syntax error at line 1 :
top.(window.$$ || functi
----^
expected identifier, got '('

jedoch nur in opera!

prototype: $$() in anderem window anwenden

Der folgende Beitrag wurde am 02. 03. 2011, 19:10 Uhr von molily veröffentlicht.

> var test1 = parent.(window.$$ || functi
> -------------------^
> expected identifier, got '('

Kannst du mal bitte zumindest die gesamte Codezeile posten und erklären, in welchem Frame sie ausgeführt wird und was sie tun soll?

Folgendes ginge z.B.
parent.$('id').select('.class')
Keine Ahnung, ob du das nun suchst. Bitte beschreibe einmal genau dein Frames-Setup und aus welchem Frame du in welchem Frame was mit Prototype machen willst.

Mathias

prototype: $$() in anderem window anwenden

Der folgende Beitrag wurde am 03. 03. 2011, 21:34 Uhr von max xam veröffentlicht.

das IST die komplette zeile, mehr gibt opera nicht aus.
aber mittlerweile konnte ich mir selbst helfen:

(top.$$)('bla');

einfach den ersten teil in klammern setzen!

prototype: $$() in anderem window anwenden

Der folgende Beitrag wurde am 03. 03. 2011, 21:36 Uhr von max xam veröffentlicht.

ich meinte natürlich

(top.$).('bla');

prototype: $$() in anderem window anwenden

Der folgende Beitrag wurde am 03. 03. 2011, 21:38 Uhr von max xam veröffentlicht.

mein fehler, das erste war doch richtig!

© 1998-2013 SELFHTMLImpressumSoftware: Classic Forum 3.4