根据语言加载不同的JavaScript文件


Load a different JavaScript file according to language

我想添加一个cookie横幅到我的网站,它有两种不同的语言:意大利语和英语。

语言为

http://www.grcparfum.it/home.php?section=letteradelpresidente& lang = eng

http://www.grcparfum.it/home.php?section=letteradelpresidente& lang = ita

,这是我的代码:

<?php
   $currentlang= $_GET['link'];
   if($currentlang !=eng){
    ?>   
    <script src="/js/cookiechoices-en.js"></script>
   }
<?php else: ?>{
<script src="/js/cookiechoices-it.js"></script>
<?php endif; ?>
   }

你可能遇到的问题:

  • 有些大括号不在PHP
  • 的作用域内。
  • 看起来你应该在第一个if语句中使用==而不是!=
  • 您正在尝试将称为eng的常量与$currentlang而不是"eng"进行比较

试题:

<?php
   $currentlang = filter_input(INPUT_GET, 'lang', FILTER_SANITIZE_STRING); // Safer
   if($currentlang == "eng"){ ?>   
        <script src="/js/cookiechoices-en.js"></script>
    <?php } else { ?>{
        <script src="/js/cookiechoices-it.js"></script>
    <?php }
?>

我假设它永远不会选择eng选项。

我认为你的错误是没有把eng放在引号里:

if($currentlang !=eng){
应该

 if($currentlang != "eng"){

使用JQuery:

url = 'http://www.grcparfum.it/home.php?section=letteradelpresidente&lang=eng';
function getParameterByName(name) {
    name = name.replace(/['[]/, "''[").replace(/[']]/, "'']");
    var regex = new RegExp("[''?&]" + name + "=([^&#]*)"),
        results = regex.exec(url);
  // results = regex.exec(location.search); gets the url of current window
    return results === null ? "" : decodeURIComponent(results[1].replace(/'+/g, " "));
}
var language = getParameterByName('lang');
english = '<script src="/js/cookiechoices-en.js"><'/script>';
italian = '<script src="/js/cookiechoices-it.js"><'/script>';
if(language == 'eng'){
    $('#script').html(english);
}else if(language == 'ita'){
    $('#script').html(italian);
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="script"></div>