Skriptsprachen (PHP, Javascript, etc.) - Forum

Derzeit sind Sie als Gast in unserem Forum aktiv. Für das Schreiben registrieren Sie sich bitte. Unser Forum ist eine Austauschplattform für Webworker zum Kommunizieren, Helfen, Informieren und Hilfe finden. Auf der rechten Seiten finden Sie eine Forenübersicht über alle Bereiche des Webmaster-Forums. Unterhalb finden Sie alle aktuellen Themen.

Diskutieren Sie hier über die serverseitige Skriptsprachen PHP und Python und über dynamische Webseitenerstellung mit Javascript und Ajax.


Konstantin Knöll
Beiträge: 193

PN schreiben
Profil ansehen
User ist offline

Iframe -> Unterbinden der Weiterleitung des Hauptdokumentes

Link zur Antwort auf "Iframe -> Unterbinden der Weiterleitung des Hauptdokumentes" von Konstantin Knöll Konstantin Knöll, am Thursday den 05.01.2012 um 14:08:03

Hallo,

in einem Iframe (ja veraltet, aber es ist ein verwaltungssystem, welches eine vorschau anzeigt) öffne ich eine URL. In dieser URL soll der Benutzer rumsurfen können wie er möchtet.

Manchmal befehlt die Seite des Iframes jedoch das Hauptdokument zu übernehmen und die nächste Seite nicht im Iframe, sondern im Hauptdokument zu öffnen.

Wie kann ich

a) das unterbinden

und

b) die aufgerufene Seite nicht nur stoppen, sondern statt im hauptfenster einfach im iframe aufrufen lassen (inkl. parameter & co, aktuell gehts erstmal nur um get parameter).

danke soweit!


Benutzer gelöscht
Beiträge: 166

PN schreiben
Profil ansehen
User ist offline
Link zur Antwort auf "Iframe -> Unterbinden der Weiterleitung des Hauptdokumentes" von Benutzer gelöscht Benutzer gelöscht, am Thursday den 05.01.2012 um 14:55:13
Zitat von: K. K.

[...] Wie kann ich

a) das unterbinden

In dem aus der eingebundenen Seite den Code entfernst der für das "Ausbrechen" zuständig ist. Wenn du das nicht kannst da die eingebundene Seite nicht dir gehört solltest du mal in dich gehen und dir überlegen ob du möchtest dass das jemand mit deiner Seite macht.


Konstantin Knöll
Beiträge: 193

PN schreiben
Profil ansehen
User ist offline
Link zur Antwort auf "Iframe -> Unterbinden der Weiterleitung des Hauptdokumentes" von Konstantin Knöll Konstantin Knöll, am Thursday den 05.01.2012 um 16:45:30

Sorry für die schroffe Antwort, aber nach einem Moralapostel habe ich nicht gesucht.

Mir ist sehr wohl bekannt, dass man dies nicht einfach mit seiner Seite wünscht.

Hier gehts jedoch um das bekannte Google AdWords Vorschau tool.
Ich habe eine Verwaltung der AdWords per API, in der man ebenso das Ergebnis sehen soll. Alle Rechte dazu habe ich bereits angefragt. Leider kann ich nicht erwarten, das Google für mich Ihr Vorschautool umprogrammiert.

Sorry, aber solch Antworten finde ich persönlich ohne das Notwendige Hintergrundwissen fehl am Platz und lässt mich auch überlegen ob ich in solch einer Community agieren möchte. Ich wills jetzt aber nicht verallgemeinern, vergebt mir meinen Ärger darüber.

Also bitte zurück zur Frage, danke!

Link zur Antwort auf "Iframe -> Unterbinden der Weiterleitung des Hauptdokumentes" von Jannik Zschiesche Jannik Zschiesche, am Friday den 06.01.2012 um 16:37:07

Ich gehe mal nur auf die technische Seite ein:

die einzige Möglichkeit, die mir gerade in den Sinn kommt, wäre ein Reverse Proxy. Du leitest alle Anfragen an das Google-Tool über den Proxy und der entfernt dann die target-Attribute auf den entsprechenden Tags.

Aber muss es ein iFrame sein? Würde nicht auch ein Popup / neues Fenster funktionieren? Dann könntest du dir diesen nicht unerheblichen Aufwand sparen.


Konstantin Knöll
Beiträge: 193

PN schreiben
Profil ansehen
User ist offline
Link zur Antwort auf "Iframe -> Unterbinden der Weiterleitung des Hauptdokumentes" von Konstantin Knöll Konstantin Knöll, am Saturday den 07.01.2012 um 11:55:48

Im schlimmsten Fall würde ich das machen.

Der Punkt ist: Ich habe ein Internesverwaltungssystem für all unsere Kunden.
Das beinhaltet aber auch eine Menge mehr, wie Dateibearbeitungen und alles was halt bei uns so für Verwaltungsaufgaben anfallen.
Das ist wie ein Desktop aufgebaut (übrigens super Empfehlung für Interessenten: ExtJs (heute Sencha als Firma) - Das Framework nutze ich und bin super zufrieden).
Dies habe ich für manche Mitarbeiter bereits soweit konfiguriert, dass diese nur das System nutzen können (keine weitere Funktionen des eigentlichen Betriebssystem) im Vollbildmodus usw.

Wäre halt ärgerlich, wenn ich deswegen diese Funktion wieder degradieren muss.
Muss aber auch ehrlich gestehen, die vorgeschlagene Geschichte mit dem Proxy wäre für mich absolutes Neuland.

Mir fällt gerade ein, dass es eine Möglichkeit gibt den Besucher zu nerven mit "Wollen Sie diese Seite wirklich verlassen"-Funktionen. Kann man daraus nicht was basteln? Die Unterbindung doch sicherlich oder? (indem man einfach immer return false zurückgibt).
Aber kann man so auch die neue URL abgreifen?

Und eine weitere Idee, würde es gehen mit dem Hauptdokument auf das Iframe zuzugreifen und dort alle Target Attribute zu entfernen?
Da stellen sich nur 2 Probleme auf:
- Das Google Vorschau Tool wird eigentlich vollständig über JS konfiguriert und ausgegeben.
- Das wird Google sicher nicht gefallen, bei einem vorhandenen Lösungsweg würde ich mal anfragen, aber kann ich mir nur schwer vorstellen, da die dann sicherlich (verständlicherweise) Angst haben, man würde Logos & Co entfernen.

Danke.

Link zur Antwort auf "Iframe -> Unterbinden der Weiterleitung des Hauptdokumentes" von Jannik Zschiesche Jannik Zschiesche, am Sunday den 08.01.2012 um 03:57:56

Ich bin von extJS kein Fan (ist mir zu buggy..), aber das ist ein anderes Thema. ;-)

Da wirst du - außer mit dem Proxy - nicht drumrum kommen.

Die JS-Variente, die in das iFrame greift, wird nicht funktionieren, aufgrund der Cross-Domain-Policy. Demnach fällt auch die "wollen Sie diese Seite verlassen"-Funktion möglicherweise weg (je nachdem, ob das iFrame das an den äußeren Container meldet - das weiß ich allerdings im Moment nicht).

Edit: Es scheint, als ob das wirklich funktioniert, dass dasHauptfenster auch ein beforeunload wirft, wenn das iFrame die Seite (via target="_top") verlässt. Allerdings ist das weder schön, noch stabil - je nach Browser.


Konstantin Knöll
Beiträge: 193

PN schreiben
Profil ansehen
User ist offline
Link zur Antwort auf "Iframe -> Unterbinden der Weiterleitung des Hauptdokumentes" von Konstantin Knöll Konstantin Knöll, am Monday den 09.01.2012 um 13:24:18

Auch wenn es etwas abseits vom eigentlichen Thema ist.

Gibt es denn sinnvolle Alternativen, anschauen kann man sich ja immer mal etwas ;-)

Den Vorteil von ExtJs sehe (und nutzte!) ich durch die ganzen vorgegebenen Elemente (wie Tabellen, Fenster usw.).

Link zur Antwort auf "Iframe -> Unterbinden der Weiterleitung des Hauptdokumentes" von Jannik Zschiesche Jannik Zschiesche, am Monday den 09.01.2012 um 19:23:21
Zitat von: K. K.

Auch wenn es etwas abseits vom eigentlichen Thema ist.

Gibt es denn sinnvolle Alternativen, anschauen kann man sich ja immer mal etwas ;-)

Den Vorteil von ExtJs sehe (und nutzte!) ich durch die ganzen vorgegebenen Elemente (wie Tabellen, Fenster usw.).

Ich habe ExtJS damals für eine Administrationsoberfläche genutzt und war nicht zufrieden damit. Es stimmt, dass die Bibliothek viele vorgefertigte Controls anbietet, die auch alle recht praktisch sind, allerdings habe ich damals einige Probleme gesehen:

  • Es gibt einige (teils gravierende) Bugs. Dies wäre nicht so schlimmt, wenn diese nicht schon seit Jahren offen wären und die Antwort von einem Entwickler damals nicht "Ja, kennen wir, haben allerdings gerade keine Lust das zu beheben".
  • Das Framework ist heavy. Da die ihre Eventhandler nicht aufräumen, wenn das zugehörige Objekt entfernt wird, kann ein FF nach wenigen Minuten und einigen Controls schnell mal > 1GB Speicher fressen. Außer man macht die Garbage Collection natürlich selbst...
  • Das Framework ignoriert das Web, das DOM und eigentlich sonst alles, was es da so gibt und setzt sein eigenes Gedankenmodell darauf auf. Dass das nichts mit Webstandards zu tun hat (ein Button ist eine Tabelle mit 9 Zellen), versteht sich von selbst.
  • Das Framework erzeugt sehr viel HTML-Code selbst und der ist gruselig... So gruselig, dass ich teilweise Callbacks für das onLoad der Komponenten bauen musste, um danach den HTML-Code aufzuräumen. Allein der Gedanke, das machen zu müssen... Krank.
  • Der JS-Code ist nicht sonderlich optimiert (siehe Speicherverbrauch)
  • Sobald man einmal nicht das machen will, was die in ihren Beispielen zeigen, funktioniert es einfach nicht

Ich selbst baue meine Anwendungen lieber so klein und kompakt wie möglich, mit gut getesten und performanten Komponenten. Dabei versuche ich nicht krampfhaft eine Desktop-Anwendung im Web erstellen zu wollen (halte ich für eine grauenvolle Idee, genau wie die Desktop-Programme, die nur ein IE im Kioskmode sind), sondern ich erstelle eine Web-Anwendung mit den gewünschten Anforderungen.

Und ExtJS versucht meines Erachtens nach Desktop-Anwendungen in's Web zu bringen. Ich habe nichts gegen Desktop-Anwendungen... auf meinem Desktop.


Konstantin Knöll
Beiträge: 193

PN schreiben
Profil ansehen
User ist offline
Link zur Antwort auf "Iframe -> Unterbinden der Weiterleitung des Hauptdokumentes" von Konstantin Knöll Konstantin Knöll, am Wednesday den 15.02.2012 um 10:47:42

Hallo,

ich muss das Thema nochmal aufgreifen. Dabei gehts nicht mehr um den Iframe, sondern eben um ExtJs, aber passt ja hier ganz gut und daher braucht es keinen neuen Thread.

Also mit der Perfomance merke ich nun immer mehr, da bereits eine Menge darüber läuft.

Grundlegend hat mein Vorredner ja sicherlich recht, man könnte das Ganze auch als Programm schreiben.

Mein Problem jedoch: Ja klar, mal C++ in der schule damals gehabt, aber eigentlich kann ich nur Webprogrammierung. Habe mich auch früher mal mit Perl beschäftigt. Aber da lief es dann auf Snake & Co hinaus.

Ich möchte also im Prinzip ein komplettes Kundenverwaltungssystem, inkl. Terminplaner unserer Außendienstler, Mailsystem, Zugangsdaten, und vieles mehr erstellen.
Wichtig ist dabei, bei einer Webanwendung simple dynamische Seiten wären, gleich einem CMS oder ähnlichem, würde nicht die Bearbeitung in mehreren Kunden (außer man nutzt Tabs und das möchte ich gerne umgehen) zulassen.

Wie kann ich das am besten realisieren?
Habe leider nicht die Zeit, jetzt ein halbes Jahr die passende Programmiersprache zu erlernen.

Gibt es also Alternativen zu ExtJs? (ich verwende die 3er Version, ggf. hat jemand Erfahrung mit der 4er und die ist schon um welten besser? Laut Ankündigungen schon, aber will mich diesmal nicht darauf verlassen)
Oder gibt es eine richige Programmiersprache, mit vielen Frameworks, die PHP & Co sehr ähnlich aufgebaut ist, sodass ein Umstieg nicht haufenweise Zeit frisst?

Vielen Dank für die Mühen!

achso, was noch zu beachten ist, bei nem Wechsel in eine Programmiersprache und somit ein vollwertiges Programm:
Ich habe wie bereits erwähnt eine Menge an Funktionalität. Diese ist jedoch nicht einfach "noch irgend eine anwendung, die daten aus der datenbank liest + schreibt".
Es ist leider noch viel mehr, wie Kommunizieren mit AdWords-Servern, Mailverkehr usw.
Grundlegend würde ich denke sowie den Datenaustausch über eine Schnittstelle mit unserem Server bevorzugen, da die Anwendung nicht nur lokal verwendet wird.
Herje, sehr kompliziert. Mal eben 100.000 Tausend um mir so ein individuelles Programm erstellen zu lassen habe ich leider auch nicht parat. Und für 10.000 würd das keiner machen, hab ich bereits angefragt...