問題があります。それは私の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&preset=slideshow
<a href="imgs/resize.php?file=uploads/113371269676r84gq9re1vppfram0a7ajgo15.JPG&preset=lightbox2" class="lightbox">
<img title="Yesterday @ 20:09" src="imgs/resize.php?file=uploads/113371269676r84gq9re1vppfram0a7ajgo15.JPG&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&preset=slideshow
<a href="imgs/resize.php?file=uploads/113371236426r84gq9re1vppfram0a7ajgo15.jpg&preset=lightbox2" class="lightbox">
<img title="Yesterday @ 19:14" src="imgs/resize.php?file=uploads/113371236426r84gq9re1vppfram0a7ajgo15.jpg&preset=slideshow">
</a>
</div><div style="position: absolute; top: 0px; left: 600px; z-index: 0; display: none;">
imgs/resize.php?file=uploads/113371234386r84gq9re1vppfram0a7ajgo15.jpg&preset=slideshow
<a href="imgs/resize.php?file=uploads/113371234386r84gq9re1vppfram0a7ajgo15.jpg&preset=lightbox2" class="lightbox">
<img title="Yesterday @ 19:10" src="imgs/resize.php?file=uploads/113371234386r84gq9re1vppfram0a7ajgo15.jpg&preset=slideshow">
</a>
</div><div style="position: absolute; top: 0px; left: 600px; z-index: 0; display: none;">
imgs/resize.php?file=uploads/113371233356r84gq9re1vppfram0a7ajgo15.jpg&preset=slideshow
<a href="imgs/resize.php?file=uploads/113371233356r84gq9re1vppfram0a7ajgo15.jpg&preset=lightbox2" class="lightbox">
<img title="Yesterday @ 19:08" src="imgs/resize.php?file=uploads/113371233356r84gq9re1vppfram0a7ajgo15.jpg&preset=slideshow">
</a>
</div><div style="position: absolute; top: 0px; left: 600px; z-index: 0; display: none;">
imgs/resize.php?file=uploads/113371232486r84gq9re1vppfram0a7ajgo15.jpg&preset=slideshow
<a href="imgs/resize.php?file=uploads/113371232486r84gq9re1vppfram0a7ajgo15.jpg&preset=lightbox2" class="lightbox">
<img title="Yesterday @ 19:07" src="imgs/resize.php?file=uploads/113371232486r84gq9re1vppfram0a7ajgo15.jpg&preset=slideshow">
</a>
</div><div style="position: absolute; top: 0px; left: 600px; z-index: 0; display: none;">
imgs/resize.php?file=uploads/113371230636r84gq9re1vppfram0a7ajgo15.JPG&preset=slideshow
<a href="imgs/resize.php?file=uploads/113371230636r84gq9re1vppfram0a7ajgo15.JPG&preset=lightbox2" class="lightbox">
<img title="Yesterday @ 19:04" src="imgs/resize.php?file=uploads/113371230636r84gq9re1vppfram0a7ajgo15.JPG&preset=slideshow">
</a>
</div><div style="position: absolute; top: 0px; left: 600px; z-index: 0; display: none;">
imgs/resize.php?file=uploads/113371228826r84gq9re1vppfram0a7ajgo15.JPG&preset=slideshow
<a href="imgs/resize.php?file=uploads/113371228826r84gq9re1vppfram0a7ajgo15.JPG&preset=lightbox2" class="lightbox">
<img title="Yesterday @ 19:01" src="imgs/resize.php?file=uploads/113371228826r84gq9re1vppfram0a7ajgo15.JPG&preset=slideshow">
</a>
</div><div style="position: absolute; top: 0px; left: 600px; z-index: 0; display: none;">
imgs/resize.php?file=uploads/11337107020jcemicq53t6g1h7m7kbfre77i1.JPG&preset=slideshow
<a href="imgs/resize.php?file=uploads/11337107020jcemicq53t6g1h7m7kbfre77i1.JPG&preset=lightbox2" class="lightbox">
<img title="Yesterday @ 14:37" src="imgs/resize.php?file=uploads/11337107020jcemicq53t6g1h7m7kbfre77i1.JPG&preset=slideshow">
</a>
</div><div style="position: absolute; top: 0px; left: 600px; z-index: 0; display: none;">
imgs/resize.php?file=uploads/11337106997jcemicq53t6g1h7m7kbfre77i1.jpg&preset=slideshow
<a href="imgs/resize.php?file=uploads/11337106997jcemicq53t6g1h7m7kbfre77i1.jpg&preset=lightbox2" class="lightbox">
<img title="Yesterday @ 14:36" src="imgs/resize.php?file=uploads/11337106997jcemicq53t6g1h7m7kbfre77i1.jpg&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アドオンで生成されたソースにアクセスすると、余分な文字列が表示されます。つまり、データの受信と印刷の間のどこかにあります。おもう....
これは、最初の画像が何であっても、さまざまな場所やファイルでテストした画像やファイルの場所にまったく接続されていない場合に発生します。