1

問題があります。それは私のajaxに関連していると思います。したがって、タイトルです。
私はスクリプトを持っています:

while($row = mysql_fetch_array($results)){
        $file="imgs/uploads/slideshow/".$row['image_location'];

        if(file_exists($_SERVER['DOCUMENT_ROOT'].$file)){
            $location = $file;//"imgs/uploads/thumbs/".$row['image_location'];
        } else if(!file_exists($_SERVER['DOCUMENT_ROOT'].$file)){
            $location = "imgs/resize.php?file=uploads/".$row['image_location']."&preset=slideshow";
        }
        $lightboxUrl = "imgs/resize.php?file=uploads/".$row['image_location']."&preset=lightbox2";
        $date = $index->formatDate($row['image_upload']);
        $name = $row['image_name'];
        print<<<HERE
            <div>
                <a href='$lightboxUrl' class='lightbox'>
                    <img title='$date' src='$location'/>
                </a>
            </div>";
HERE;
}

ajaxがロードされたタブ(jquery ui)内での印刷。そして、それは最初の画像を除いてすべて正しく機能します。呼び出された最初の画像には、次のようなリクエストURLがあり
http://localhost/site/imgs/resize.php?file=uploads/113371269676r84gq9re1vppfram0a7ajgo15.JPG&preset=slideshow?1337224225894 ます?1337224225894
それがそれを台無しにしているものです。
URL?に追加されたビットで、リクエストURLが無効になり、パラメータがスクリプトに渡されないため、サイズ変更された画像ではなく、完全な画像が取得されます。

他のすべてのURLは正しいです。スクリプトでそのURLをエコーすることもできますが、それは正しいのですが、呼び出されると混乱します。これは、タブインスタンスでキャッシュパラメータが使用されていないことが原因であると漠然と思っていますが、以前は機能していたので意味がありません。
何か案が?

編集:奇妙なことに、通常のajaxリクエストとタブディールで呼び出された場合、同じスクリプトが完全に機能するようです。少なくとも、私が見ることができるスクリプト間の唯一の違いはそれです。

EDIT2:
要求されたタブはスクリプトを初期化します:

 $(function(){
        $('#slides').slides({
            preload: true,
            generateNextPrev: false,
            preloadImage: 'imgs/loading.gif',
            //bigTarget: true,
            play: 5000,
            slideSpeed: 3000,
            generatePagination: false


        });
    });

ビューソースによって提供されるマークアップは次のとおりです。

<div id="content">

        <div class="ui-tabs ui-widget ui-widget-content ui-corner-all" id="tabs">
            <ul class="ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all">
                <li class="ui-state-default ui-corner-top ui-tabs-selected ui-state-active"><a href="#ui-tabs-1" id="public">Public View</a></li>
                <li class="ui-state-default ui-corner-top"><a href="#settings">Settings</a></li>
                <li class="ui-state-default ui-corner-top" id="editLink"><a href="#ui-tabs-2" id="edit">Edit Blog</a></li>
                <li class="ui-state-default ui-corner-top"><a href="#profile" "="">Profile</a></li>
            </ul><div class="ui-tabs-panel ui-widget-content ui-corner-bottom" id="ui-tabs-1">                      
            <div id="slides">
                    <div style="overflow: hidden; position: relative; display: block;" class="slides_container">                <div style="position: relative; width: 1800px; height: 600px; left: -600px;" class="slides_control"><div style="position: absolute; top: 0px; left: 600px; z-index: 5; display: block;">
             imgs/resize.php?file=uploads/113371269676r84gq9re1vppfram0a7ajgo15.JPG&amp;preset=slideshow
                <a href="imgs/resize.php?file=uploads/113371269676r84gq9re1vppfram0a7ajgo15.JPG&amp;preset=lightbox2" class="lightbox">
                    <img title="Yesterday @ 20:09" src="imgs/resize.php?file=uploads/113371269676r84gq9re1vppfram0a7ajgo15.JPG&amp;preset=slideshow?1337226056936">
                </a>
            </div><div style="position: absolute; top: 0px; left: 600px; z-index: 0; display: none;">
             imgs/resize.php?file=uploads/113371236426r84gq9re1vppfram0a7ajgo15.jpg&amp;preset=slideshow
                <a href="imgs/resize.php?file=uploads/113371236426r84gq9re1vppfram0a7ajgo15.jpg&amp;preset=lightbox2" class="lightbox">
                    <img title="Yesterday @ 19:14" src="imgs/resize.php?file=uploads/113371236426r84gq9re1vppfram0a7ajgo15.jpg&amp;preset=slideshow">
                </a>
            </div><div style="position: absolute; top: 0px; left: 600px; z-index: 0; display: none;">
             imgs/resize.php?file=uploads/113371234386r84gq9re1vppfram0a7ajgo15.jpg&amp;preset=slideshow
                <a href="imgs/resize.php?file=uploads/113371234386r84gq9re1vppfram0a7ajgo15.jpg&amp;preset=lightbox2" class="lightbox">
                    <img title="Yesterday @ 19:10" src="imgs/resize.php?file=uploads/113371234386r84gq9re1vppfram0a7ajgo15.jpg&amp;preset=slideshow">
                </a>
            </div><div style="position: absolute; top: 0px; left: 600px; z-index: 0; display: none;">
             imgs/resize.php?file=uploads/113371233356r84gq9re1vppfram0a7ajgo15.jpg&amp;preset=slideshow
                <a href="imgs/resize.php?file=uploads/113371233356r84gq9re1vppfram0a7ajgo15.jpg&amp;preset=lightbox2" class="lightbox">
                    <img title="Yesterday @ 19:08" src="imgs/resize.php?file=uploads/113371233356r84gq9re1vppfram0a7ajgo15.jpg&amp;preset=slideshow">
                </a>
            </div><div style="position: absolute; top: 0px; left: 600px; z-index: 0; display: none;">
             imgs/resize.php?file=uploads/113371232486r84gq9re1vppfram0a7ajgo15.jpg&amp;preset=slideshow
                <a href="imgs/resize.php?file=uploads/113371232486r84gq9re1vppfram0a7ajgo15.jpg&amp;preset=lightbox2" class="lightbox">
                    <img title="Yesterday @ 19:07" src="imgs/resize.php?file=uploads/113371232486r84gq9re1vppfram0a7ajgo15.jpg&amp;preset=slideshow">
                </a>
            </div><div style="position: absolute; top: 0px; left: 600px; z-index: 0; display: none;">
             imgs/resize.php?file=uploads/113371230636r84gq9re1vppfram0a7ajgo15.JPG&amp;preset=slideshow
                <a href="imgs/resize.php?file=uploads/113371230636r84gq9re1vppfram0a7ajgo15.JPG&amp;preset=lightbox2" class="lightbox">
                    <img title="Yesterday @ 19:04" src="imgs/resize.php?file=uploads/113371230636r84gq9re1vppfram0a7ajgo15.JPG&amp;preset=slideshow">
                </a>
            </div><div style="position: absolute; top: 0px; left: 600px; z-index: 0; display: none;">
             imgs/resize.php?file=uploads/113371228826r84gq9re1vppfram0a7ajgo15.JPG&amp;preset=slideshow
                <a href="imgs/resize.php?file=uploads/113371228826r84gq9re1vppfram0a7ajgo15.JPG&amp;preset=lightbox2" class="lightbox">
                    <img title="Yesterday @ 19:01" src="imgs/resize.php?file=uploads/113371228826r84gq9re1vppfram0a7ajgo15.JPG&amp;preset=slideshow">
                </a>
            </div><div style="position: absolute; top: 0px; left: 600px; z-index: 0; display: none;">
             imgs/resize.php?file=uploads/11337107020jcemicq53t6g1h7m7kbfre77i1.JPG&amp;preset=slideshow
                <a href="imgs/resize.php?file=uploads/11337107020jcemicq53t6g1h7m7kbfre77i1.JPG&amp;preset=lightbox2" class="lightbox">
                    <img title="Yesterday @ 14:37" src="imgs/resize.php?file=uploads/11337107020jcemicq53t6g1h7m7kbfre77i1.JPG&amp;preset=slideshow">
                </a>
            </div><div style="position: absolute; top: 0px; left: 600px; z-index: 0; display: none;">
             imgs/resize.php?file=uploads/11337106997jcemicq53t6g1h7m7kbfre77i1.jpg&amp;preset=slideshow
                <a href="imgs/resize.php?file=uploads/11337106997jcemicq53t6g1h7m7kbfre77i1.jpg&amp;preset=lightbox2" class="lightbox">
                    <img title="Yesterday @ 14:36" src="imgs/resize.php?file=uploads/11337106997jcemicq53t6g1h7m7kbfre77i1.jpg&amp;preset=slideshow">
                </a>
            </div></div>";                                      </div> <!-- End # slide_container -->

                    <a href="#" class="prev"><img src="imgs/arrow-prev.png" alt="Arrow Prev" height="43" width="24"></a>
                    <a href="#" class="next"><img src="imgs/arrow-next.png" alt="Arrow Next" height="43" width="24"></a>
            </div> <!-- End # slides --></div>

EDIT3:
新しい奇妙な発見。ファイヤーバグを使用して、私は次のことを発見しました。ヘッダーは正しく送信され、正しいデータが受信されます。firebugによると、ソースコードは正しいですが、Web devアドオンで生成されたソースにアクセスすると、余分な文字列が表示されます。つまり、データの受信と印刷の間のどこかにあります。おもう....

これは、最初の画像が何であっても、さまざまな場所やファイルでテストした画像やファイルの場所にまったく接続されていない場合に発生します。

4

1 に答える 1

0

「プロファイル」li の「="」は少し混乱します!修正するとどうなりますか?

それが原因で a リンクが台無しになっているため、その a 要素全体で問題が発生しています!


編集: 上記のコードは、「ソースの表示」または Firebug から取得したものですか? ? 画像 URL src に明確に表示され、それがライト ボックスに渡されます (a href ではありません)。

したがって、「ソースを表示する」場合は、ソースを作成するものを確認します。少し。Firebug の場合は、Javascript で src を変更できる場所を見つけるために、さらにコードが必要になります。

于 2012-05-17T04:32:34.897 に答える