Wenn ich auf eine HTML-Datei doppelklicke oder unter Start/Ausführen eine URL eingebe, wird die entsprechende Seite in einem neuen Fenster des Default-Browsers geöffnet. Ich möchte nun aber, dass bestimmte Seiten/URLs immer im selben Browser-Fenster/-Tab aufgehen. Beim ersten Mal wird es geöffnet, bei den folgenden Aufrufen wiederverwendet. Also ziemlich genau das, was das target-Attribut eines Anchors leisten würde, wenn der Aufruf aus einer HTML-Seite käme, die schon in dem betreffenden Browser geladen ist. Genau das ist aber nicht der Fall - ich bin in einer externen Anwendung, die den Browser erst starten muss, aber eben nicht jedesmal ein neues Fenster aufmachen soll.
Falls es was hilft, sich auf den IE (ab IE 7) zu beschränken, wäre das auch ok.
Mit Kommandozeilen-Parametern bin ich nicht weitergekommen. Der IE scheint da kein Äquivalent zu "target" zu haben, und das ist der einzige Browser, den ich als vorhanden voraussetzen kann (und der neben FF, Opera etc. auch auf jeden Fall unterstützt werden muss).
Ansonsten hatte ich noch die Idee, eine temporäre HTML-Seite zu erzeugen, die einfach nur mit "window.open" das eigentliche Ziel im gewünschten Tab öffnet und sich dann gleich selbst wieder schließt. Da laufe ich aber in Probleme mit Popup-Blockern und Javascript-Einschränkungen, was das Schließen angeht.
Wegen Kundenanwendung frage ich, weil eine Einstellung beim IE nötig ist. <ironie>Toll, dass man seine Beiträge nicht mehr editieren darf </ironie> So gleichen sich wenigstens die Antorten den Kommentaren an.
Es geht auf jeden Fall um eine Anwendung, die wie ein Produkt verteilt werden soll. Die IE-Settings anzupassen, wäre dann schon ein sehr tiefer Eingriff. Vor allem wäre das aber noch nicht die gewünschte Lösung. <a href="..." target="myTarget"> öffnet einen Tab oder ein Fenster je nach Gusto und Einstellungen des Anwenders - aber es ist immer derselbe Tab oder dasselbe Fenster. Und so brauche ich das auch. Mit der von Dir genannten Einstellung bleibt zwar alles in einem Fenster, aber soweit ich sehe geht mit jedem Aufruf immer noch ein neuer Tab auf.
Mit ein bißchen Aufwand drumherum habe ich eine 80%-Lösung gefunden:
Ich baue eine .NET-Anwendung mit Windows Forms. (Das hatte ich sowieso vor. Aber da ich den Browser bislang über Process.Run() starte und das ein sehr allgemeiner Mechanismus ist, schien mir das nicht besonders wichtig.) Darin bringe ich ein WebBrowser-Control unter, setze es aber auf Visible=false, denn ich will die Seiten ja im normalen, externen Browser sehen. Wenn ich nun eine Webseite im (externen) Browser öffnen lassen will, lade ich in den eingebetteten Browser eine Seite, die nichts enthält als eine Zeile Javascript mit einem window.open-Befehl, der ein Browser-Fenster-Target vorgibt. Die Seiten werden dann im IE geöffnet (leider nicht im Default-Browser, aber damit könnte ich vorerst leben), und zwar wie gewünscht immer im selben Tab.
<ironie>Toll, dass man seine Beiträge nicht mehr editieren darf </ironie>
So gleichen sich wenigstens die Antorten den Kommentaren an.