2 Stimmen

Hintergrund der Seite, die auf ein Bild verweist, ändern?

Wenn ich also den IE als Browser verwende, habe ich einen einfachen Link...

<a href="test.jpg">Image Link</a>

Ist es möglich, die Hintergrundfarbe der Seite zu ändern, auf der das Bild geladen wird?

Ich möchte vermeiden, dass eine völlig neue Seite für das Bild erstellt wird.

EDIT Entschuldigung für die Verwirrung. Ich dachte, es sei ziemlich klar. Pascal hat Recht und Guffa auch.

von Pascal... "Ich habe verstanden, dass er möchte, dass das Bild auf einer neuen Seite geöffnet wird und dass diese Seite eine bestimmte Hintergrundfarbe hat"

@David Andes, Sie haben insofern Recht, als der Link impliziert, was geschieht ("Ich weiß, dass das Bild Teil des Ankers selbst ist"), nämlich dass das Bild auf einer neuen Seite geöffnet wird. Die von Ihnen zitierte Formulierung ist jedoch nicht korrekt.

"Ändern Sie den Hintergrund des Bildes, in dem diese Seite geladen wird."

Letztendlich möchte ich die Hintergrundfarbe der Seite ändern, auf der dieses Bild geöffnet wird.

Die Antwort auf den Kommentar zu diesem Beitrag ist also in der Tat (1) die Hintergrundfarbe für die Seite zu ändern, die durch einen Klick auf "Image Link" geladen wird,"

3voto

Pascal MARTIN Punkte 384469

Wenn jemand auf einen solchen Link klickt, lädt der Browser nur das Bild selbst und nicht irgendeine "Seite".

Das bedeutet, dass die Hintergrundfarbe vom Browser abhängt und dass Sie nichts dagegen tun können.

Wenn Sie möchten, dass Ihr Bild auf einer anderen "Seite" angezeigt wird, müssen Sie diese codieren. Wenn Sie jedoch mehrere Bilder haben, brauchen Sie nicht für jedes Bild eine eigene Seite zu codieren: eine allgemeine Seite, die jedes Bild anzeigen kann und einen Parameter erhält, der angibt, welches Bild angezeigt werden soll, reicht aus.

Nur zum Spaß: unter Firefox kann die Hintergrundfarbe geändert werden, indem man zu about:config , auf der Suche nach dem browser.display.background_color Eigenschaft und deren Änderung.

Natürlich haben Sie als Webmaster keine Kontrolle darüber: Nur ein Benutzer kann sie für seine Firefox-Instanz ändern.

1voto

Philippe Leybaert Punkte 161931

Das ist nicht möglich. Als Alternative können Sie einen der vielen javascriptbasierten Bildbetrachter verwenden, wie Leuchtkasten 2

1voto

Guffa Punkte 663241

Nein, das ist nicht möglich. Wenn Sie etwas an der Darstellung des Bildes ändern wollen (Hintergrundfarbe, Rand usw.), müssen Sie eine Seite dafür erstellen.

Wenn Sie viele Bilder auf diese Weise zeigen wollen, müssen Sie nicht für jedes Bild eine eigene Seite erstellen. Sie können eine einzige Seite verwenden und das anzuzeigende Bild als Abfragezeichenfolge senden.

1voto

T. Stone Punkte 18736

Es ist nicht möglich, dies in reinem HTML zu tun.

Wie die meisten Menschen lösen dies jetzt Tage ist es, ein Javascript Media Viewer wie verwenden Schattenbox um denselben Effekt zu erzielen (denn niemand will für jedes Bild eine eigene Seite erstellen).

1voto

David Andres Punkte 30563

Ich bin mir nicht ganz sicher, was Ihr Endziel ist, aber Sie können die Hintergrundfarbe des Browserdokuments (nicht des Fensters) basierend auf href-Einstellungen mit Code ähnlich dem folgenden beeinflussen:

<script type="text/javascript">
 function setBackgroundColorIfAppropriate(anticipatedURL, colorToUse)
 {
   var allAnchorTags = document.getElementsByTagName("a");

   for(var i = 0; i < allAnchorTags.length; ++i)
   {
     if(allAnchorTags[i].href === anticipatedURL)
     {
       document.body.style.backgroundColor = colorToUse;
       break;
     }
   }
 }

 window.onload = function()
 {
   setBackgroundColorIfAppropriate("test.jpg", "blue");
 };
</script>

Das href-Attribut stimmt möglicherweise nicht genau mit dem überein, was Sie im Markup angegeben haben. Seien Sie also vorsichtig und achten Sie auf den Inhalt der href-Attribute der Ankerelemente, um zu sehen, ob sie den Erwartungen entsprechen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X