innerHTML在其他条件下不会改变

时间:2012-07-27 11:43:08

标签: php javascript html

参见以下代码

<div id="news-ticker">
<marquee id="news-marquee" scrollamount="3" onmouseover="stop()" onmouseout="start()" style="padding-top:2px; padding-bottom:2px;">
Latest News
</marquee>
</div>

<script type="text/javascript">

var currenturl = document.URL;

if ((currenturl.indexOf("&lang=nl") != -1) || (currenturl.indexOf(";lang=nl") != -1) || (currenturl.indexOf("&lang=nl#content") != -1))  {
document.getElementById("news-marquee").innerHTML = '<?php require_once("news_nl.php"); ?>';
}

else if ((currenturl.indexOf("&lang=en") != -1) || (currenturl.indexOf(";lang=en") != -1) || (currenturl.indexOf("&lang=en#content") != -1))  {
document.getElementById("news-marquee").innerHTML = '<?php require_once("news_en.php"); ?>';
}

else if ((currenturl.indexOf("&lang=fr") != -1) || (currenturl.indexOf(";lang=fr") != -1) || (currenturl.indexOf("&lang=fr#content") != -1)) {
document.getElementById("news-marquee").innerHTML = '<?php require_once("news_fr.php"); ?>';
}

else {
document.getElementById("news-marquee").innerHTML = '<?php require_once("news_nl.php"); ?>';
}

</script>

在HTML页面上,我有一个div,其中包含一个用于在网页上显示最新新闻的选框。需要在选取框中显示的内容取自php文件。这是正在发生的事情:

当页面加载时,我首先看到选框中出现“最新新闻”。也就是说:它在javascript执行前不久显示。 在那之后,新闻选框显示正确的内容:如果我在网站的荷兰语(&amp; lang = nl)部分,荷兰新闻项目显示,法国项目显示在法国网站等。所以这很有效。

但有些网页上没有“&amp; lang = xx”路径,所以在这些情况下,我有其他条件默认显示荷兰语新闻项目。但是,这不会被执行。新闻选集保持空白。甚至不再显示“最新消息”。

Firebug不会对我造成任何错误,所以我不知道这里会发生什么。

1 个答案:

答案 0 :(得分:2)

您的问题是您使用require_once代替includerequire_once仅允许将文件包含一次。

我建议在PHP中进行检查,并且只向客户端提供其中一个文件以减少带宽使用。