Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

Ahoi Z'sammen!

Nicht lachen, aber ich komme einfach nicht drauf....

Und zwar habe ich folgendes, wie übergebe ich mit Javascript eine

Variable an eine andere Seite?

Ich will mit Javascript ein neues Fenster öffnen lassen und muß dann

für jedes Bild die Größe mit an die Funktion übergeben, nur wie ?!?

Hier ist ein Teil der HTML-Seite:

<html>

<head>

<title>Slayer8</title>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

<link rel="stylesheet" href="layout.css">

</head>

<body background="grafik/back.gif">

<script language="JavaScript" src="fotos.js" type="text/javascript"></script>

<!-- SNIP -->

<a href=javascript:open_window('foto1.jpg')><img src="foto1_thumb.jpg" width="120" height="81" border="0"></a>

Und dann wird diese Funktion aufgerufen:

function open_window(url){mywin=window.open(url,"win",'toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,resizable=1,width=400,height=400');}

Nur wie bitteschön übergebe ich im Link die Heigth und width werte?

Wo muß ich die Variablen dafür definieren?

*grübel*

ThX!

Wenn es nur darum geht, Parameter an die Seite zu übergeben, die Du aufmachst, dann kannst Du die einfach an deinen URL-Parameter dranhängen.

Also z.B.:

<a href=javascript:open_window('foto1.jpg?height=400&width=200')><img src="foto1_thumb.jpg" width="120" height="81" border="0"></a>

Ich weiß aber nicht genau, ob es das ist, was Du willst...

Ich wüßte auch nicht, wozu das in diesem Fall sinnvoll wäre, da Du ja direkt die Grafik als URL angibst und dann die Parameter serverseitig nicht weiterverarbeiten könntest.

so long,

EvilInside

Im Prinzip will ich die Parameter an die Funktion übergeben, die mir dann ein neues Fenster in entsprechender Größe erstellt.

Beispiel, Link a soll Bild a laden und Bild a ist 400x300 Pixel.

Dann soll mit dem Link die 400x300 Pixel an die Funktion übergeben werden, die mir dann ein Fenster in der Größe erstellen!

Sinn und Zweck....

Es soll quasi für jedes Bild ein Fenster in der Größe geöffnet werden.

Bei meinem jetzigem Script haben alle Fenster die gleiche Größe, egal wie groß das Foto ist.

Genau das will ich ändern....

das problem von js ist, das für die größe des bildes erstmal das bild geladen sein muss.

document.images[0].width würde dir dann die breite liefern.

mit php kann aber recht simpel die größe des files auslesen und dann weitergeben.

PHP klappt nicht bei dem Projekt, nur HTML und JS!

Die Größe kann ich ja ruhig selber angeben, soll quasi beim Funktionsaufruf mit übergeben werden.

Mehr nicht!

Auszug von SelfHTML:

<html><head><title>Test</title>

<script type="text/javascript">

<!--

F1 = window.open("datei.htm","Fenster1","width=310,height=400,left=0,top=0");

F2 = window.open("datei.htm","Fenster2","width=310,height=400,left=320,top=0");

self.focus();

self.close();

//-->

</script>

</head><body>

</body></html>

Auf den ersten Blick eine Frage der Nutzung der Anführungsstriche.

Alternativ kannst du erst einmal ein Fenster öffnen und dann nach bzw. beim Laden des Bildes mit resizeTo() die Größe ändern.

@ E-T

Danke, ist schon klar. Ist nicht das was sich meinte!

Die Funktion zum Öffnen der Bilder besteht schon und soll zwei Variablen für

die Größe des Bildes enhalten quasi x und y.

Im Funktionsaufrug, dem Link sollen diese Parameter übergeben werden so daß

ich jedes Bild individuell mit der Größe in dem Link, bzw. der beim Aufruf

der o.g. Funktion übergeben wird.

Das was Du mir geschrieben hast bezieht sich doch nur auf die Funktion, oder?

Ich brauche jedoch einen Hinweis, WIE man die Paramter übergibt!

In SelfHTML habe ich auch shcon geguckt und konnte nichts finden.

Das mit dem Resize To funzt doch auch nicht, es soll ja nur ein Bild geöffnet

werden, also muß der Parameter für die Grafik im Aufruf übergeben!

Trotzdem danke für die Mühe!

Slayer8

naja dann schreib dir doch so eine funktion:


function showimage(pURL,pWidth,pHeight){

 win = window.open('about:blank','bild','width=' + pWidth + ',height=' + pHeight);

 win.document.write('<html><head><title></title></head>');

 win.document.write('<body background=\"' + pURL + '\"></body></html>');

}

die funktion würdest du dann so aufrufen:

<a href="javascript:showimage('DEINBILD.JPG',400,400)">show me</a>

Etwas komplizierter, aber auch komfortabler wäre eine Lösung. die die Breite des Bildes selbst per JS ermittelt. In etwa sähe das so aus:

var preloadImage = null;

var preloadTimer = null;

function showPicture( pictureUrl )

{

if ( preloadImage == null )

{

preloadImage = new Image();

preloadImage.src = pictureUrl;

preloadTimer = setTimeout( "showPicture('" + pictureUrl + "')", 100 );

}

else

{

if ( preloadImage.complete )

{

var w = preloadImage.width;

var h = preloadImage.height;

window.open( pictureUrl, "Viewer", "width=" + w + ",height=h" );

preloadImage = null;

preloadTimer = null;

}

else

{

preloadTimer = setTimeout( "showPicture('" + pictureUrl + "')", 100 );

}

}

}

Diese Funktion bekommt nur noch die URL des Bildes übergeben. Dann wird das Bild vorgeladen und wenn es fertig geladen ist, ein Popup mit den korrekten Abmessungen geöffnet.

Ich habe die Funktion eben rasch reingehackt, also keine Gewähr - aber im Prinzip sollte es so gehen.

Die Sache hat natürlich auch Nachteile bzw. man kann noch einige Dinge verbessern: Gebrauch von globalen Variablen (preloadImage, preloadTimer) und: man sieht das Popup erst, wenn das BIld komplett geladen ist.

Wenn das Bild sehr groß ist, bzw. die Ladezeit recht lang, wirkt das ggf. verwirrend auf den User (er klickt und es passiert erstmal nix).

HTH,

EvilInside

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.