0

ある種のオンラインギャラリーを作成しようとしています。これは最初の.htmlドキュメントであり、画像のサムネイルの1つをクリックすると、gallery.htmlでその画像のフルサイズのhtmlが開きます。

<html >
<head>
<title>Untitled Document</title>
</head>
<body > 
<a href="gallery.html?image1.jpg"> <img  height="85" width="85"  src="image1.jpg" /> </a>
<a href="gallery.html?image2.jpg"> <img  height="85" width="85"  src="image2.jpg" /> </a>
<a href="gallery.html?image3.jpg"> <img  height="85" width="85"  src="image3.jpg" /> </a>
</body>
</html>

gallery.html

<html>
<head>
<script language = "javascript">
function getUrl(){
var url = window.location.search;
path = url.substring(1);
changeImage(path);
}

function changeImage(path){
var imgDest = document.getElementById("image");
var imgSrc = path;
imgDest.setAttribute("src", imgSrc);
}
</script>
<title>Galerry</title>
</head>
<body>
<img src="" id="image"/>
<br>
</body>
</html>

すべての画像と.htmlドキュメントは同じフォルダにあります...名前にスペースが含まれている.jpg画像もあるので、それらをクリックすると、スペースの代わりに%20がアドレスバーに表示されます。%2​​0がスペースに置き換わることがわかります。しかし、問題はおそらくそこにありますか?そう思いましたが、通常の名前の画像もロードしたいです。これらの画像をどのようにロードできますか?

よろしく

4

1 に答える 1

1

あなたのjavascript関数は決して呼び出されないようです。スクリプトを編集して、ページの読み込み時に呼び出されるようにします。

<script language="javascript">
// Assign an anonymous function to the onload event
window.onload = function(){
    // Place code to execute here.
}
</script>

<body>または、タグを編集します。

  <body onload="getUrl();">
于 2012-06-25T09:33:14.263 に答える