0

onClick 画像をプリロードしようとしていますが、スクリプトは Google Chrome 以外で動作します (Safari を想像します)...何が起こっているのかわかりません。誰にもアイデアはありますか?

<div style="display:hidden">
    <script type="text/javascript">
        <!--//--><![CDATA[//><!--
            var images = new Array()
            function preload() {
                for (i = 0; i < preload.arguments.length; i++) {
                    images[i] = new Image()
                    images[i].src = preload.arguments[i]
                }
            }
            preload(

            <?php
                for ($i = 0; $i < 6; $i++) {
                    if (!empty($imgs[$i])) {
                        $comma = $i == 0? '' : ',';
                        echo $comma."'http://www.htpcusa.com/drcom/ebay/image.php?img_source_url=" . $imgs[$i] . "&img_resize_to=500'";
                    }
                }
            ?>

            )
        //--><!]]>
    </script>
</div>

画像は後でこのコードを介して呼び出されます。

        <?php
            for ($i = 0; $i < 6; $i++) {
                if (!empty($imgs[$i])) {
                    echo "<div class=\"htpc_picturebox\">";
                    echo "<img id=\"imgs$i\" src=\"http://www.htpcusa.com/drcom/ebay/image.php?img_source_url=" . $imgs[$i] . "&img_resize_to=157\" alt=\"\"";
                    echo " onClick=\"javascript:document.getElementById('detailed_image').src='http://www.htpcusa.com/drcom/ebay/image.php?img_source_url=" . $imgs[$i] . "&img_resize_to=500';\" />";
                    echo "</div>";
                }
            }
        ?>

では、IE と FF が認識している Chrome は何をしていないのでしょうか!?

4

2 に答える 2

1

その 配列の構文はそうではarguments.lengthありませんが、それ以外は、動作しているjsfiddleのように見えますfunctionname.arguments.length
var images = []

于 2013-02-28T22:34:06.280 に答える
-1

preloadfunction は定義に引数を取りませんが、パラメーターを送信しようとしています。関数にパラメーターを送信する代わりに、 php 出力を介して配列をpreload初期化できます。images例えば;

<?
$i=0;
while (something) {
echo "images[{$i}] = {$img}";
$i++;
?>
于 2013-02-28T22:25:36.220 に答える