ERLEDIGT
JA
JA
ANTWORTEN
5
5
ZUGRIFFE
861
861
EMPFEHLEN
-
Hallo,
Ich habe eine oder einige Fragen zu Frames, und Javascript.
Mein Problem:
Ich habe 2 Frames, einen oberen (eine Art Toolbar) und einen unteren.
In dem unteren Befindet sich ein <div> Tag, mit der id="PhotoContrainer".In Diesem Div Tag befindet sich ein Bild. ( Mit <img src="....")
Diesen DivTag mit seiner ID und seinem Bild möchte ich gern auslesen, und später Speichern. Doch leider scheitere ich.
1. Frage:
Ist das aus Sicherheitsgründen überhaupt möglich?
Wenn ja , hier einer meiner Versuche.
Mein Code:
in index.html
in toolbar.htmHTML-Code:<frameset rows="28,*" border="0" frameborder="0" framespacing="0"> <frame name="toolbar" src="toolbar.htm" scrolling="no" marginheight="3" marginwidth="10"> <frame name="Site" src="svz_site.htm"> </frameset>
Hier wird die Variable nur in einem Link an eine andere Seite Weitergeleitet, welche einen Download startet. Aber das Funktioniert schon einwandfrei.HTML-Code:<body> <style type="text/css"> <!-- body { margin:0px; background:url(toolbar.png) repeat-x; } a:link { color:#000000; text-decoration:none; } a:visited { color:#000000; text-decoration:none; } a:active { color:#FFFFFF; text-decoration:none; } a:hover { color:#999999; text-decoration:none; } div.toolbar { margin-left:250px; } --> </style> <script type="text/javascript"> <!-- // Versuche pic mit Div Tag zufüllen. var pic = parent.Site.document.getElementById('PhotoContainer'); // Versuch Source in picurl zufüllen. var picurl = pic.getElementsByTagName('img')[0]src); // Picurl wird übergeben function transportPicUrl(picurl) { location.href='http://localhost/svzpicloader/?dlpic='+encodeURIComponent(picurl); } //--> </script> </head><body> <div class="toolbar">| <a href="javascript:transportPicUrl()">Bild Speichern</a> |</div> </body>
in Site.htm
Meine Versuche:HTML-Code:<!-- Ganz ganz Viel unwichtiger Code...--> <div id="PhotoContainer"> <img src="http://www.google.de/intl/de_de/images/logo.gif"/> </div>
1. Getestet ob das Script ohne Frames Funktioniert.
2. Statt parent.Site.xy mal parent.frames[0].xy eingesetzt
3. Rückgabe wert von pic ohne Frames. (Mir wird gesagt das es sich bei dem Element um ein Div Element handelt.)
Script ohne Frames:
Code :1 2 3 4 5
var pic=document.getElementById('PhotoContainer');alert(pic); if(confirm('Mit einem Klick auf OK akzeptierst du, dass du ueber alle\nnoetigen Rechte zum Download des Bildes verfuegst!')) { if(!pic)alert('Du bist nicht auf einer Bild Seite!'); else location.href='http://localhost/picloader/?dlpic='+encodeURIComponent(pic.getElementsByTagName('img')[0]src); }
Script für die Browserzeile oder Booklet:
Code :1
javascript: var pic=document.getElementById('PhotoContainer');if(confirm('Mit einem Klick auf OK akzeptierst du, dass du ueber alle\nnoetigen Rechte zum Download des Bildes verfuegst!')){if(!pic)alert('Du bist nicht auf einer Bild Seite!'); else location.href='http://www.picloader/?dlpic='+encodeURIComponent(pic.getElementsByTagName('img')[0].src);}
Da Semtliche Versuche mit den Frames scheiterten, habe ich mich gefragt ob es überhaupt vorgesehen ist? Also man könnte ja eigentlich somit jede Site modfizieren, oder sogar verschiedene Teile austauscht.
Frage 2:
Wenn es so nicht möglich ist, ist es überhaupt umsetztbar?
Und vorallem wie? ( Denkanstoß)
Hoffe ihr könnt mir weiterhelfen,
Gruß Arne
-
Hi,
du greifst in diesen zwei Zeilen
auf das Dokument und seine Methoden zu, während es noch nicht existiert.Code :1 2 3 4
// Versuche pic mit Div Tag zufüllen. var pic = parent.Site.document.getElementById('PhotoContainer'); // Versuch Source in picurl zufüllen. var picurl = pic.getElementsByTagName('img')[0].src;
Versuch mal, alles mit in die Funktion zu packen.
Vielleicht hilft dir das weiter.Code :1 2 3 4 5 6 7 8
function transportPicUrl() { // Versuche pic mit Div Tag zufüllen. var pic = parent.Site.document.getElementById('PhotoContainer'); // Versuch Source in picurl zufüllen. var picurl = pic.getElementsByTagName('img')[0].src; location.href='http://localhost/svzpicloader/?dlpic='+encodeURIComponent(picurl); }
Ciao
QuaeseVielleicht muss man manchmal vom Weg abkommen, um nicht auf der Strecke zu bleiben!
----
Der "Fortsetzungsroman" auf www.leuteforum.de
New kind to realize large scalable projects with jQuery: jQuery SDK
-
Hallo,
Vielen dank erstmal für die Antwort.
Wenn ich jetzt versuche mir einer der beiden Variablen anzuzeigen, mit
Code :1 2 3 4 5 6 7 8
function transportPicUrl() { // Versuche pic mit Div Tag zufüllen. var pic = parent.Svz_Site.document.getElementById('PhotoContainer'); // Versuch Source in picurl zufüllen. //var picurl = pic.getElementsByTagName('img')[0].src; alert(pic); // Oder picurl }
Kommt nichts, nicht mal ein Undefinded oder Null-
Aber wenn ich jetzt zb. versuche auf den Unteren Frame zuzugreifen mit z.b.
parent.frames[1].history.back(); oder parent.Site.history.back();
zunktioniert das EInwandfrei.
Ich bekomme blos mein Div Element nicht zufassen.
Ich habe es schon einmal soweit gehabt das er mir Null ausgegeben hat.
Wenn ich mir aber direkt über die Browserzeile die Variable pic ausgeben lasse, ohne frames, sagt er mir das es sich um ein HTML Div Object handelt.
Blos verflixt, ich komm per frame irgedndwie nicht an diesen Div Container ran.
Hat nochjemand eine Idee?
-
Hi,
vielleicht liegt es am Name für den Frame - in deinem ersten Posting hiess der gesuchte Site, in deinem zweiten Script heiss er jedoch Svz_Site.
Ansonsten funktioniert folgendes bei mir.
index.html:
toolbar.htm:Code :1 2 3 4 5 6 7 8 9 10 11 12
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd"> <html> <head> <title>www.tutorials.de</title> </head> <frameset rows="28,*" border="0" frameborder="0" framespacing="0"> <frame name="toolbar" src="toolbar.html" scrolling="no" marginheight="3" marginwidth="10"> <frame name="Site" src="svz_site.htm"> </frameset> <noframes><body> </body></noframes> </html>
svz_site.htm:Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
<html> <head> <title>www.quaese.de</title> <meta name="author" content="Quaese"> <meta http-equiv="content-type" content="text/html; charset=iso-8859-1"> <style type="text/css"> <!-- body { margin:0px; background:url(toolbar.png) repeat-x; } a:link { color:#000000; text-decoration:none; } a:visited { color:#000000; text-decoration:none; } a:active { color:#FFFFFF; text-decoration:none; } a:hover { color:#999999; text-decoration:none; } div.toolbar { margin-left:250px; } --> </style> <script type="text/javascript"> <!-- // Picurl wird übergeben function transportPicUrl() { // Versuche pic mit Div Tag zufüllen. var pic = parent.Site.document.getElementById('PhotoContainer'); // Versuch Source in picurl zufüllen. var picurl = pic.getElementsByTagName('img')[0].src; alert(picurl); } //--> </script> </head> <body> <div class="toolbar">| <a href="javascript: transportPicUrl()">Bild Speichern</a> |</div> </body> </html>
Voraussetzung für das Funktionieren ist jedoch die Voraussetzung, dass sich toolbar.htm und svz_site.htm unter der gleichen Domain befinden.Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14
<!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>www.tutorials.de</title> <meta name="author" content="Quaese"> <meta http-equiv="content-type" content="text/html; charset=iso-8859-1"> </head> <body> <!-- Ganz ganz Viel unwichtiger Code...--> <div id="PhotoContainer"> <img src="http://www.google.de/intl/de_de/images/logo.gif"/> </div> </body> </html>
Ciao
QuaeseVielleicht muss man manchmal vom Weg abkommen, um nicht auf der Strecke zu bleiben!
----
Der "Fortsetzungsroman" auf www.leuteforum.de
New kind to realize large scalable projects with jQuery: jQuery SDK
-
Vielen dank, mein Problem ist gelöst.
Doch gibt es auch eine möglichkeit wenn die Domain nicht gleich ist?
-
Hi,
mit JavaScript hast du keinen Zugriff auf fremde Domains und deren Dokumente. Das ist Teil des Sicherheitskonzepts, bezeichnet als Richtlinie gleicher Herkunft (same-origin policy). Mehr dazu findest du hier.
Ciao
QuaeseVielleicht muss man manchmal vom Weg abkommen, um nicht auf der Strecke zu bleiben!
----
Der "Fortsetzungsroman" auf www.leuteforum.de
New kind to realize large scalable projects with jQuery: jQuery SDK
Ähnliche Themen
-
mit jQuery von einem Frame Elemente in anderen Frame beschreiben
Von deluxeondecks im Forum Javascript & AjaxAntworten: 0Letzter Beitrag: 04.01.11, 14:16 -
Anfänger: URL in einem anderen Frame öffnen
Von KiteRider im Forum Javascript & AjaxAntworten: 2Letzter Beitrag: 24.11.07, 13:57 -
Array von einem Frame zum anderen neu ordnen
Von Leugim im Forum Flash PlattformAntworten: 2Letzter Beitrag: 15.06.07, 01:19 -
aus einem Frame in nen anderen laden
Von znysk im Forum Javascript & AjaxAntworten: 8Letzter Beitrag: 26.11.04, 02:11 -
goto -> frame in einem anderen MC
Von Zatic im Forum Flash PlattformAntworten: 2Letzter Beitrag: 02.10.01, 17:29





Zitieren

Login





