Witam! Piszę sobie skrypt php z użycie javascript do wyskakującego okna ze zdjęciem. Jak pierwszy raz odpale skrypt i klikne w odnośnik do zdjęcia to otworzy się nowe okno i zdjęcie poprawnie się wyświetli. Później, gdy je zamknę i spróbuje odpalić jeszcze raz zdjęcie bez przeładowywania strony to wychodzi błąd:
Skrypt główny wygląda tak:
a obsługujący tak:
Pozdrawiam!
Kod:
JavaScript - http://localhost/upload_image1.php
Uncaught exception: TypeError: 'window.popup_window.resizeTo' is not a function
Error thrown at line 7, column 0 in create_window(image, width, height):
window.popup_window.resizeTo (width, height);
called from line 1, column 0 in program code:
create_window('grafika_mini2.jpg',204,153)
Skrypt główny wygląda tak:
Kod:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl" lang="pl">
<head>
<meta http-equiv="contenet-type" content="text/html: charset=iso-8859-2" />
<!--<meta http-equiv="Refresh" content="5; url=http://www.google.pl" /> !-->
<title>Galeria</title>
<link rel="Shortcut icon" href="Antares_Icon_29.ico">
<link rel="stylesheet" type="text/css" href="style.css">
<script language="javascript">
function create_window (image, width, height) {
width = width + 25;
height = height + 50;
if (window.popup_window && !window.popup_window.closed) {
window.popup_window.resizeTo (width, height);
}
var window_specs = "location=no, scrollbars=no, menubars=no, toolbars=no, resizable=yes, left=0, top=0, width=" +width+ ", height=" +height;
var url = "upload_imagea.php?image=" +image;
popup_window = window.open(url, "picturewindow", window_specs);
popup_window.focus();
}
</script>
</head>
<body>
<table align="center" cellspacing="5" cellpaddnig="5" border="1">
<tr>
<td align="center">Nazwa obrazu</td>
<td align="center">Rozmiar obrazu</td>
</tr>
<?php
$dir = "uploads";
$files = scandir($dir);
foreach ($files as $image) {
if (substr($image, 0, 1) != '.') {
$image_size = getimagesize("$dir/$image");
$file_size = round ((filesize("$dir/$image")) / 1024) . "kb";
echo "<tr>
<td><a href=\"javascript:create_window('$image',$image_size[0],$image_size[1])\">$image</a></td>
<td>$file_size</td>
</tr>";
}
}
?>
</table>
</body>
</html>
a obsługujący tak:
Kod:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl" lang="pl">
<head>
<meta http-equiv="contenet-type" content="text/html: charset=iso-8859-2" />
<!--<meta http-equiv="Refresh" content="5; url=http://www.google.pl" /> !-->
<title>Galeria</title>
<link rel="Shortcut icon" href="Antares_Icon_29.ico">
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
<?php
$okay = false;
if(isset($_GET['image'])) {
$ext = substr($_GET['image'],-4);
if ((strtolower($ext) == '.jpg') OR (strtolower($ext) == 'jpeg') OR (strtolower($ext) == '.gif')) {
if ($image = @getimagesize ('uploads/' . $_GET['image'])) {
echo "<img src=\"uploads/{$_GET['image']}\"$image[3] border=\"2\" />";
$okay = true;
}
}
}
if (!$okay){
echo " do skryptu nalezy przeniesc prawdziwa nazwe obrazu!";
}
?>
<br />
<div align="center"><a href="javascript:self.close();">Zamknij okno</a></div>
</body>
</html>
Pozdrawiam!