Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/455.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
web上的Javascript空白页_Javascript_Html_Jquery_Css_Multilingual - Fatal编程技术网

web上的Javascript空白页

web上的Javascript空白页,javascript,html,jquery,css,multilingual,Javascript,Html,Jquery,Css,Multilingual,我想让我的网页成为一个多语言页面,因此我使用了以下js代码: let langs = ['en', 'it', 'sp', 'sv', 'de', 'pt', 'nl']; let lang = 'en'; setLangStyles(lang); function setStyles(styles) { var elementId = '__lang_styles'; var element = document.getElementById(elementId); if (el

我想让我的网页成为一个多语言页面,因此我使用了以下js代码:

let langs = ['en', 'it', 'sp', 'sv', 'de', 'pt', 'nl'];
let lang = 'en';
setLangStyles(lang);

function setStyles(styles) {
  var elementId = '__lang_styles';
  var element = document.getElementById(elementId);
  if (element) {
    element.remove();
  }

  let style = document.createElement('style');
  style.id = elementId;
  style.type = 'text/css';

  if (style.styleSheet) {
    style.styleSheet.cssText = styles;
  } else {
    style.appendChild(document.createTextNode(styles));
  }
  document.getElementsByTagName('head')[0].appendChild(style);
}

function setLang(lang) {
  setLangStyles(lang);
}

function setLangStyles(lang) {
  let styles = langs
    .filter(function (l) {
      return l != lang;
    })
    .map(function (l) {
      return ':lang('+ l +') { display: none; }';
    })
    .join(' ');

  setStyles(styles);
}
我将其命名为“lang.js”,并在我的html中标记为:

<!-- jquery -->
<script src="js/jquery-2.1.4.min.js"></script>
<!-- Bootstrap -->
<script src="js/bootstrap.min.js"></script>
<script src="js/scripts.js"></script>
<script src="js/lang.js"></script>

在本地,它工作得很好,但当它在服务器上时,它根本不会打开网页,我看到的只是一个空白页面

我还试图用script>tag在html中编写它,但也没有成功

在开发工具的网络选项卡中,jquery-2.1.4.min.js文件和引导文件显示为200状态

控制台上没有错误

有人能帮忙吗


提前感谢您

这是我对您函数的版本。它循环遍历lang数组,然后获取匹配lang元素的
queryselectoral
。如果传递的语言与循环中的数组元素匹配,则显示设置为block,否则设置为none

langs=[“en”,“es”];
函数setLangStyles(lang){
对于(z=0;z
EN
锿
视图ES

View EN
您可以共享网络选项卡屏幕截图吗?DevTools控制台中是否显示错误?只有这些:DevTools未能加载SourceMap:无法加载chrome的内容-extension://ickdpignpmjcahkjfbmfljhiglmcmchn/main.js.map: HTTP错误:状态代码404,net::ERR_UNKNOWN_URL_SCHEME DevTools未能加载SourceMap:无法加载以下内容:HTTP错误:状态代码404,net::ERR_HTTP_响应_代码_失败网页为:www.meladwi.it/2/4.html:lang伪类选择页面上的每个元素并将其隐藏查看我的感谢。这个确实有效。但问题是,除非我点击其中一个按钮,否则它会显示所有语言。如何设置默认值language@MahmudElAdwi,我更新了我的答案,但基本上只是调用
setLangStyles(“es”)其中
es
是默认语言。令人惊讶的是,你救了我一天,我祝你一切顺利