我有一个不会显示图像的ajax应用程序,或者从存储在文件中的html创建一个弹出窗口。
这是我为弹出窗口提供的代码:
echo '<script>
function makewindows(){
child1 = window.open ("about:blank");
child1.document.write(' . json_encode($row2["ARTICLE_DESC"]) . ');
child1.document.close();
}
</script>';
结果html
<script>
function makewindows(){
child1 = window.open ("about:blank");
child1.document.write("<!-- +++++++++++++++++++++++++ Bitte \u00e4ndern Sie im eigenen Interesse nichts an diesem Code! ++++++++++++++++++++++++ -->\n<!-- +++++++++++++++++++++++++ Das kann massive Fehldarstellungen ihrer Auktion zur Folge haben! +++++++++++++++++++ -->\n<!-- +++++++++++++++++++++++++ ++++++++++++++++++++++++++ Ihr Supreme Team +++++++++++++++++++++++++++++++++++++++++ -->\n");
child1.document.close();
}
</script><br />
<b>Notice</b>: Undefined index: CATEGORY in <b>C:\Programme\EasyPHP 2.0b1\www\get_auction.php</b> on line <b>39</b><br />
<div id='leftlayer'>
<strong>Article Number</strong> 220288560247
<p><strong>Article Name</strong></p> Ed Hardy Herren Shirt Rock & Roll Weiss XXL Neu & OVP
<p><strong>Subtitle</strong></p>
<p><strong>Username</strong></p> fashionticker1
<p><strong>Total Selling</strong></p> 1
<p><strong>Total Sold</strong></p> 0
<p><strong>Category</strong></p>
<p><strong>Highest Bidder</strong></p> 0
</div>
<div class='leftlayer2'>
<strong>Current Bid</strong> 0.00
<p><strong>Start Price</strong></p> 49.00
<p><strong>Buyitnow Price</strong></p> 59.00
<p><strong>Bid Count</strong></p> 0
<p><strong>Start Date</strong></p> 1.10.2008 16:22:09
<p><strong>End Date</strong></p> 6.10.2008 16:22:09
<p><strong>Original End</strong></p> 6.10.2008 16:22:09
<p><strong>Auction Type</strong></p> 1
</div>
<div class='leftlayer2'>
<strong>Private Auction</strong></p> 0
<p><strong>Paypal Accepted</strong></p> 0
<p><strong>Auction Watched</strong></p> 0
<p><strong>Finished</strong></p> 1
<p><strong>Country</strong></p>
<br>
<br>
<style ty
<p><strong>Location</strong></p> float: right;
<p><strong>Conditions</strong></p> margin: 0px;
</div>
<div class='leftlayer2'>
<strong>Auction Revised</strong></p> 0
<p><strong>Cancelled</strong></p> 0
<p><strong>Shipping to</strong></p> padding:5px;
<p><strong>Fee Insertion</strong></p> 0.00
<p><strong>Fee Final</strong></p> 0.00
<p><strong>Fee Listing</strong></p> 0.00
<p><a href='#' onclick='makewindows(); return false;'>Click for full description </a></p>
</div><div id='rightlayer'>Picture Picture
<img src=http://storage.supremeauction.com/flash/ebay2/10/49/76/10497654/13895964e.jpg>
</div>
img src是一个有效的位置,可以在浏览器中打开,但不会显示在页面中。我收到一个脚本错误,但没有说明任何细节。
编辑:当单独调用文件而不是作为应用程序的一部分时,生成的html文件会生成一个创建弹出窗口的链接,但源显示没有任何内容被分配给窗口:
child1.document.write("");
我对img src行进行了更改:
<img src='".$lastImg."'>
这导致html返回:
<img src=''>
答案 0 :(得分:1)
你真的需要让Firefox / Firebug来帮助调试它。您的脚本错误可能导致页面停止加载,因此您的图像不会显示。
答案 1 :(得分:1)
您的HTML看起来无效 - 您有:
<style ty
<p><strong>Location</strong></p> float: right;
<p><strong>Conditions</strong></p> margin: 0px;
首先,<style>
标签未关闭(1.开头标签甚至没有完整,2。您没有结束标签) - 当我使用Firefox / Firebug查看HTML时,它是将HTML的其余部分视为在该标记内,因此不显示它。
此外,您在HTML中混合了float: right;
等样式声明,而不是样式标记。
答案 2 :(得分:0)
如果您使用innerHTML替换通过Ajax进行此响应,它将无法正常工作。您需要解析回调中的<script>...</script>
和eval()
。
一般来说,你应该在服务器端使用一些不错的PHP框架,在客户端使用Javascript库。否则你很快就会从头开始重写你的程序来清理它,只是为了发现它几乎没有更好。