【问题标题】:Choose language popup on page load在页面加载时选择语言弹出窗口
【发布时间】:2013-02-28 13:49:57
【问题描述】:

我正在构建一个多语言网站,我想在初始页面加载时插入一个函数,该函数会找到浏览器的默认语言设置,然后提示用户选择他们想要的语言。 (英语/西班牙语)

当然,提示中的语言与浏览器的语言相同。我已经在所有页面页面上进行了这些语言之间的导航,但我想在用户进入时拦截并避免使用启动页面。

谁能告诉我这是怎么做的?

【问题讨论】:

  • $(document).ready(function(){ });中插入对弹出函数的调用
  • @Deadlock 你好,谢谢,但是我对JS的了解还是很有限。我只了解基本的console.log,return,print等。你能解释一下或者你知道一个链接吗?
  • @Deadlock 我没有看到 jQuery 标签。
  • $jquery @Bondye 的快捷方式
  • @Deadlock 大声笑我知道。但是你的评论你说他必须为此使用 jQuery,但是 OP 没有 jquery tag 限制在这个问题上......

标签: php javascript html popup multilingual


【解决方案1】:

首先你需要一个自定义事件监听器

function addEvent(to, type, fn) {
    // Firefox, Safari, Chrome, Opera
    if(document.addEventListener) {
        to.addEventListener(type, fn, false)
    }
    // Microsoft ActiveX Scripts
    else if(document.attachEvent) {  
        to.attachEvent('on'+type, fn)
    }
    // Last hope
    else {  
        to['on'+type] = fn
    }
}

在窗口加载时添加事件监听器并运行函数onDomLoaded()

addEvent(window, 'load', onDomLoaded)

创建函数onDomLoaded

function onDomLoaded() {
    alert('Im finished loading the entire window, your language is: ' + navigator.language)

}

这里是example on jsFiddle

【讨论】:

  • 太棒了!然后我会在最终函数中添加一些内容以供选择。在它外面创建另一个函数,然后在里面调用它?
  • 两者都可以。使用onDomLoaded 函数作为您的javascript 的init/document class/constructor。要有创意:)
【解决方案2】:

就像 Deadlock 所说,您可以使用 JavaScript 模态弹出窗口。有人给出了这个Here的例子。

您可以创建此弹出窗口,其中包含用于选择语言的按钮。

【讨论】:

  • 谢谢你,看起来它可能真的很有用。该方法是替换页面地址的 null 术语吗?
  • 不太确定还没有研究太多。如果您只是 google javascript 或 jquery modal pop。您可以使用一些易于使用的预构建代码。
【解决方案3】:

回答如何使用JavaScript 获取浏览器语言。当您在问题标签中指定 PHP 时,请使用 PHP 回答。

【讨论】:

  • 这太好了,我可能会使用 PHP 页面上的第二条评论,因为它看起来很容易实现。谢谢
猜你喜欢
  • 2017-03-03
  • 1970-01-01
  • 1970-01-01
  • 2012-03-02
  • 2018-06-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多