![]() |
Werte an geklickten Links im Browser anhängen
moin leute!
ich hab mal hier im forum etwas gesucht, aber anscheinend ist es ein eher seltenes problem. ich programmiere zur zeit an einem browser, speziell für ein forum. auf dem programm ist z.b. ein button für 'startseite'. wenn dieser angeklickt wird, dann wird der link vom forum aufgerufen, plus eine variable, damit das forum eine spezielle ansicht für meinen browser wiedergibt. beispiel:
Delphi-Quellcode:
klappt alles bestens. jedoch aber nur wenn meine buttons angeklickt werden. klickt man auf einen link innerhalb des browsers, also keinen meiner buttons, dann fehlt der wert 'ansicht' und die normale version des forums wird angezeigt.
ansicht:='?view=speziellerbrowser';
browser.navigate('http://www.forum.de/'+ansicht); wie kann ich an einen link etwas anhängen? ich bin jeder antwort sehr dankbar... viele grüße fmb ;) |
Re: Werte an geklickten Links im Browser anhängen
hmm sry kann dir jetzt keine antwort auf dein prob geben da ich das genaue problem nichtso ganz verstehe...kannst nichtmal einen link zu deinem forum posten dass koennte ich dir vllcht mehr helfen;)
da o0o |
Re: Werte an geklickten Links im Browser anhängen
Liste der Anhänge anzeigen (Anzahl: 1)
Wie gesagt, wenn man Buttons klickt, oder einen Link vom Menü aufruft funktioniert es, da das Forum dann meinen Wert '?view=pt' erkennt und dann eine spezielle Ansicht angezeigt wird, die der Admin für mich eingerichtet hat. Der Banner wird z. B. dann nicht mehr eingeblendet, da dieser bereits oben auf dem Browser ist.
Ich möchte aber auch, dass der Wert '?view=pt' an einen Link angehängt wird, der nicht in meinem Programm sitzt, sondern auf der Website, die im WebBrowser angezeigt wird. Hier das Programm, damit jeder genau versteht, was ich meine: (Es handelt sich um einen WAP-Browser für 'wap.se-world.info') PS: Ich nutze den EmbeddedWebBrowser von ![]() |
Re: Werte an geklickten Links im Browser anhängen
also wenn ich das jetzt richtig verstanden habe...du willst an alle links ein wenig text dranhaengen um es simple auszudruecken?
wenn es so ist wird es nicht schwer;) hier bei den schweizern is ein schnipsel der alle links aus dem browser holt: ![]() wenn du alle links hast musst du nur noch an jedes link deinen code haengen und den rest kannst du dir dann ausmalen oder?^^ da o0o |
Re: Werte an geklickten Links im Browser anhängen
Delphi-Quellcode:
procedure TForm1.WebBrowser1BeforeNavigate2(Sender: TObject;
const pDisp: IDispatch; var URL, Flags, TargetFrameName, PostData, Headers: OleVariant; var Cancel: WordBool); CONST FORUM_URL = 'http://www. ....'; ANSICHT = '.........'; begin if copy(url,1,length(FORUM_URL)) = FORUM_URL then if pos(ANSICHT, URL) = 0 then begin Cancel := True; URL := URL + ANSICHT; WebBrowser1.Navigate(URL); end; end; |
Re: Werte an geklickten Links im Browser anhängen
Kleine Anmerkung zum Browser: Unter TEmbeddedWB.UserInterfaceOptions könntest du noch
EnableThemes auf True setzen, damit die Buttons etc. im XP/Vista Style angezeigt werden. |
Re: Werte an geklickten Links im Browser anhängen
Erst mal vielen Dank für die Antworten!
Noch befor ich Eure Beiträge gelesen hatte, bin ich selbst schon auf 'BeforeNavigate2' gestossen... Habe das Code-Beispiel von API ausprobiert. Es wird zwar fehlerfrei compilerd, aber mein Wert '?view=pt' wird leider immer noch nicht an die URLs angehänt. Nun habe ich einfach mal folgendes ausprobiert:
Delphi-Quellcode:
Nun erhalte ich aber bei Programmstart den Fehler 'Stack-Überlauf'. Das Programm startet zwar dann, stürzt aber ab, wenn ich irgend einen Link anklicke... :(
procedure TFrameBrowser.BrowserBeforeNavigate2(ASender: TObject;
const pDisp: IDispatch; var URL, Flags, TargetFrameName, PostData, Headers: OleVariant; var Cancel: WordBool); begin Browser.Navigate(URL+'?view=pt'); end; |
Re: Werte an geklickten Links im Browser anhängen
Ich finde, du gehst das Problem von der falschen Seite an.
Normalerweise schickt ein Browser seine Kennung im "User-Agent"-Header. Auf diesen sollte die Internetseite reagieren. |
Re: Werte an geklickten Links im Browser anhängen
Zitat:
2. Wenn du .Navigate im BeforeNavigate2 aufrufst, wird BeforeNavigate2 immer wieder aufgerufen und es gibt einen 'Stack-Überlauf'. 3. '?view=pt' musst du ja nur dann anhängen, wenn der string in URL nicht vorkommt. 4. Setze noch Cancel auf True 5. Wenn Bedingung 3 erfüllt ist, dann gibt's das Problem von 2 nicht. |
Re: Werte an geklickten Links im Browser anhängen
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:56 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz