我有一个名为load.php
的远程脚本,使用参数id
调用。然后,会将id
附加到多个链接,并在名为display.html
的页面上显示它们(调用load.php
)。
但是, display.html仅显示第一个链接,并且缺少所有其他链接。
display.html
的代码
<head>
<script type="text/javascript" src="http://example.come/load.php?id=1"></script>
</head>
load.php
的代码
<?php
$pid = "-1";
if (isset($_GET['id'])) {
$pid = $_GET['id'];
}
?>
var firstlink='<a href="http://www.example.com/loader.html?parameter=<?php echo $pid?>"><img src="firstimage.jpg" alt="First Link!" width="150" height="125" border="0"></a><br/><br/>';
document.write(firstlink);
var secondlink='<a href="http://www.example.com/loader2.html?parameter=<?php echo $pid?>"><img src="secondimage.jpg" alt="Second Link!" width="150" height="125" border="0"></a><br/><br/>';
document.write(secondlink);
var thirdlink='<a href="http://www.example.com/loader3.html?parameter=<?php echo $pid?>"><img src="thirdimage.jpg" alt="Third Link!" width="150" height="125" border="0"></a><br/><br/>';
document.write(thirdlink);
编辑:在所有3个装载机中意外地给出了相同的链接。它们是3个不同的链接。
答案 0 :(得分:2)
你应该不使用document.write
!有更好的工具。
你应该做的是使用appendChild
,insertAdjacentHTML
,或者只是简单地写.innerHTML
来添加你的元素 - 等待DOM准备就绪后,即。 / p>
这是解决此问题的简单方法:
<?php
$pid = "-1";
if (isset($_GET['id'])) {
$pid = $_GET['id'];
}
?>
window.addEventListener('load', function(){
var firstlink='<a href="http://www.example.com/loader.html?parameter=<?php echo $pid?>"><img src="firstimage.jpg" alt="First Link!" width="150" height="125" border="0"></a><br/><br/>';
window.document.body.innerHTML += firstlink;
var secondlink='<a href="http://www.example.com/loader.html?parameter=<?php echo $pid?>"><img src="secondimage.jpg" alt="Second Link!" width="150" height="125" border="0"></a><br/><br/>';
window.document.body.innerHTML += secondlink;
var thirdlink='<a href="http://www.example.com/loader.html?parameter=<?php echo $pid?>"><img src="thirdimage.jpg" alt="Third Link!" width="150" height="125" border="0"></a><br/><br/>';
window.document.body.innerHTML += thirdlink;
});
答案 1 :(得分:0)
在第一个document.write()
之后,网页的整个内容都会被覆盖并且脚本会被中止。
使用以下内容:
var firstlink='<a href="http://www.example.com/loader.html?parameter=<?php echo $pid?>"><img src="firstimage.jpg" alt="First Link!" width="150" height="125" border="0"></a><br/><br/>';
var secondlink='<a href="http://www.example.com/loader.html?parameter=<?php echo $pid?>"><img src="secondimage.jpg" alt="Second Link!" width="150" height="125" border="0"></a><br/><br/>';
var thirdlink='<a href="http://www.example.com/loader.html?parameter=<?php echo $pid?>"><img src="thirdimage.jpg" alt="Third Link!" width="150" height="125" border="0"></a><br/><br/>';
document.write(firstlink + secondlink + thirdlink);