你也许可以使用这样的东西:
<?php
$app = JFactory::getApplication();
$menu = $app->getMenu();
if ($menu->getActive() == $menu->getDefault( 'en-GB' )) { ?>
<script type="text/javascript"> // <![CDATA[
if ( (navigator.userAgent.indexOf('Android') != -1) ) {
document.location = "a.html";
} // ]]>
</script>
<?php }
elseif ($menu->getActive() == $menu->getDefault( 'fr-FR' )) { ?>
<script type="text/javascript"> // <![CDATA[
if ( (navigator.userAgent.indexOf('Android') != -1) ) {
document.location = "b.html";
} // ]]>
</script>
<?php }
?>
请注意,我没有对此进行测试,所以让我知道它是否有效,如果无效,我可以更新它。
更新:
正如 Oriol 所说,最好重定向服务器端而不是 javascript。昨天我在搞乱代码,我写的一半有效:
<?php
$lang = JFactory::getLanguage();
$app = JFactory::getApplication();
$menu = $app->getMenu();
if ($menu->getActive() == $menu->getDefault( 'en-GB' )) {
?>
<script type="text/javascript">
alert("<?php echo $lang->getTag() ?>");
</script>
<?php
}
elseif ($menu->getActive() == $menu->getDefault( 'fr-FR' )) {
?>
<script type="text/javascript">
alert("<?php echo $lang->getTag() ?>");
</script>
<?php
}
?>
然后它基本上会获取当前的语言标签和警报,具体取决于正在查看网站的语言。因此它会发出警报en-GB
或fr-FR
. if
尝试在and elseelse
语句中使用服务器端重定向