Deutsch
Forum

HTML-Win Dialog verhindern, dass sich ein Link[href_blank, bubble] in neuen Fenster öffnet

 

Julian
Schmidt
Wie kann man bei einem HTML-Win Dialog verhindern das sich ein Link[href_blank, bubble] in einem neuen Fenster öffnet [...] ?

iF (22.05.11)
Bisl was fällt mir da schon ein...

a) neue Fenster bei Links vlt. verhinden - hierzu (per ocx?) <base href auf _self setzen;

b) ein url-Protokoll mit der Anwendung registrieren und Links umschreiben von https:// auf irgendHttp://;

c) per ocx & js eine nproc injizieren und Links in js konvertieren.

Vlt. wäre Variante B ganz einfach aber ich kann mir auch vorstellen das es eigentlich noch einfacher gehen könnte. ^^


Wer kann eine Variante realisieren?
 
˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗
Webseite [...] 
22.05.2011  
 




nur href_blank


Ich glaube das stimmt so nicht ganz denn statt _blank kann auch ein Fenstername angegeben werden und wenn das Fenster nicht existiert wird eins mit dem Namen geöffnet. So erzeugt sich imho auch dann ein neues Fenster wenn Du "bubble" angibst.


Wer kann eine Variante realisieren?


Variante B bekommst Du selbst einfach hin - ist imho nur Registry-Geschreibe... hatte ich irgendwann mal bei XP-Script (  [...]  ) so gemacht aber den Code hier nicht parat.
 
22.05.2011  
 




Julian
Schmidt

Vlt. wäre Variante B ganz einfach aber ich kann mir auch vorstellen das es eigentlich noch einfacher gehen könnte. ^^


Kennt jemand eine einfachere Lösung?
 
˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗
Webseite [...] 
22.05.2011  
 




Uwe
''Pascal''
Niemeier
Hi Julian!


Kennt jemand eine einfachere Lösung?


Ich jedenfalls nicht, ganz im Gegenteil...

Die Varianten von iF haben nämlich einen Schönheitsfehler:
Sie lassen sich relativ leicht auf ein  Dokument anwenden, aber was, wenn eine Webseite Frames enthält?
Dann wäre jeder Frame ein Dokument, das wiederum Frames und damit weitere Dokumente enthalten könnte.
Diese müßten alle erfaßt und "nachgearbeitet" werden...
Außerdem müßte diese Technik nach jeder  Navigation angewendet werden, damit alle Links erfasst werden.

Eine andere Lösung wäre, das IWebBrowser-Interface selbst zu manipulieren.
(Das ist das Ding, das hinter Profans HTMLWin-Control steht und damit über allem, was darin enthalten ist)

Habe sowas vor einiger Zeit mal probiert; dazu waren allerdings ein paar Tricksereien nötig.
Aber zumindest unter XP/SP3 & IE8 funktioniert es.
Vielleicht kannst du es ja irgendwie einbauen!

Und wie gesagt: Bei einzelnen Dokumenten (wie z.B. bei einer HTML-basierten Benutzeroberfäche für eigene Programme) geht es wesentlich einfacher.

SeeYou
Pascal

3 kB
Kurzbeschreibung: HTML: Links zu neuen Fenstern blockieren
Hochgeladen:23.05.2011
Ladeanzahl124
Herunterladen
 
23.05.2011  
 




Julian
Schmidt
In XProfan 11 geht es nicht wegen des ProcAddr in
des long asm#,32=1963589251,-1198485265,procaddr(InvokeProc,0),12112127,1560281088,9410


ProcAddr nicht in Free-Version enthalten


Kann man die Zeile irgendwie umschreiben [ohne ProcAddr]?
 
˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗
Webseite [...] 
23.05.2011  
 



An der Stelle dieser ProcAddr-Funktion könntest Du myProc& hinterlegen -

hab Dir kleinen Opcode geschrieben der per SendMessage die Nachricht 1024+1234 an das hWnd sendet und das müsste dann in der SubClassProc ankommen wenn sich das Programm in der Funktion WaitInput befindet:
var myProc&=~globalAlloc(0,32)
long myProc&,0=26707,6815744,1744830464,0,104,47872,-738263040,50011
long myProc&,12=1024+1234
long myProc&,17=%hWnd
long myProc&,22=~GetProcAddress(~GetModuleHandleA("user32"),"SendMessageA")
/*
push ebx
push dword
push dword
push dword
push dword
mov ebx,dword
call ebx
pop ebx
ret0
*/
 
23.05.2011  
 




Julian
Schmidt
was ist mit Zeile 53?
long VTable#,0=procaddr("Query_Interface",3)

und 81?
procaddr("Query_Interface",-3)
 
˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗
Webseite [...] 
23.05.2011  
 



Um den Opcode für diese größere Funktionen hinzupinseln bräuchte ich dann wohl doch etwas mehr Zeit...

hole Dir einfach ein XProfan!
 
23.05.2011  
 




Dieter
Zornow
Hallo Uwe,

bei deinem Browserbeispiel kommt es bei mir beim Programmende zu einem schweren Absturz, kann noch nicht mal mehr mit dem Taskmanager beenden.
Win7 32bit
 
Er ist ein Mann wie ein Baum. Sie nennen ihn Bonsai., Win 7 32 bit und Win 7 64 bit, mit XProfan X2
24.05.2011  
 




Uwe
''Pascal''
Niemeier
Hi Leute!

@ Julian: Hab ich inzwischen auch gemerkt
Werde nachher doch mal versuchen, die Variante mit JavaScript umzusetzten. Das Umleiten von Events kommt ohne ProcAddr() nämlich definitiv nicht aus.

@ Dieter: Kann ich mangels Win 7 leider nicht nachvollziehen. Aber viel kommt da ja nicht in Frage... Vielleicht mal den Aufruf von DeInitDispatch()  am Programmende auskommentieren? Hat bei mir anscheinend keine Nachteile.
Ist aber auch ein Kreuz mit diesen Kompatiblitätsproblemen

Nachtrag @ Dieter: Du verwendest doch Profan X2a ? Mit X2 ohne a könnte es in der Tat ein Problem geben.

SeeYou
Pascal
 
24.05.2011  
 




Uwe
''Pascal''
Niemeier
Hi Leute!


Werde nachher doch mal versuchen, die Variante mit JavaScript umzusetzten


Hat etwas gedauert...
Und um es gleich vorwegzunehmen: Vernünftig arbeiten kann man damit nicht! Dazu ist das ganze einfach zu instabil - selbst für meine Verhältnisse .
Es ist nur eine Frage der Zeit, bis es damit Fehlermeldungen und Abstürze gibt. Ich poste den Code eigentlich nur zu Demozwecken und weil sich die eine oder andere nützliche Funktion daraus ableiten läßt...
Bei einem internetfähigen Browser gibt es einfach zu viel zu berücksichtigen, weil man ja keine Kontrolle darüber hat, was angezeigt wird und wie die Seiten aufgebaut sind.

Soviel dazu

SeeYou
Pascal

3 kB
Kurzbeschreibung: Links in neuem Fester blockieren (Nur Demo!!)
Hochgeladen:30.05.2011
Ladeanzahl116
Herunterladen
 
30.05.2011  
 




AndreasS
Hallo Pascal
Versuche mal die ARD-Mediathek. Ganz unten auf der Seite bekommt man Links auf andere Mediatheken angeboten. Du wirst feststellen, dass diese trotzdem in einem neuen Fenster geöfnet werden. Warum auch immer.

Bis dann
Andreas
 
23.11.2011  
 



Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

14.032 Betrachtungen

Unbenanntvor 0 min.
AndreasS26.11.2018
Georg17.11.2015
Peter Max Müller15.09.2013
DePANik11.07.2013
Mehr...

Themeninformationen



Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie