如何将 2 种不同的变量类型组合成 1 javascript 代码

How to combine 2 different variable types into 1 javascript code

我目前有 2 个工作脚本用于 2 个不同的目的: 1)是一个基于浏览器语言的自动重定向脚本 2) 是一个脚本,它根据使用的设备将访问者发送到特定页面

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script>var language = navigator.language || navigator.userLanguage;
window.onload=function(){
if (language.indexOf('fr') > -1) {
document.location.href = 'mysite.com/french';
} else {
document.location.href = 'mysite.com/intl'; }}</script>


<script>function DeviceDirection()
{ if( 
/nokia/i.test(navigator.userAgent) || 
/Android/i.test(navigator.userAgent) ) 
{ window.open('mysite.com/android_and_nokia_devices'); }else{ window.open('mysite.com/all_devices'); } }</script>

我需要将这 2 个功能合并到 1 个脚本中,将单击某个按钮的访问者引导到一个专供法国用户使用 Android 的页面,而所有其他人应该转到另一个通用页面。

我尝试输入以下代码,并以多种方式对其进行编辑,但没有成功。你能帮我改正吗?提前致谢。

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script>var language = navigator.language || navigator.userLanguage;
window.open=function FrenchAndroid(){
if (
/Android/i.test(navigator.userAgent) ||
language.indexOf('fr') > -1) )
{ window.open('mysite.com/android_devices_for_french_visitors/');
}else{
window.open('mysite.com/all_other_languages_and_devices'); } }
</script>

请帮助我在上面构建这个。

我认为这段代码是您需要的:

function isFrenchAndroid() {
    var language = navigator.language || navigator.userLanguage;
    var isAndroid = /Android/i.test(navigator.userAgent);
    var isFrench = language.indexOf('fr') !== -1;

    return isFrench && isAndroid;
}

var btn = document.querySelector('button');

btn.addEventListener('click', function(event) {
    event.preventDefault();

    if (isFrenchAndroid()) {
        window.open('https://www.google.fr');
    } else {
        window.open('https://www.google.com');
    }
});

函数 isFrenchAndroid returns true 如果设备是 运行 Android 并且浏览器的语言是法语。然后将点击事件附加到按钮,并在检查后打开一个新的 window。您可以在 JS Bin.

中看到 运行 示例

如果您不想打开新的 window,我建议您改用 window.location.href = 'https://www.google.fr'

希望对您有所帮助。

如果我正确理解了您要完成的任务,那么这应该可以解决问题:

<script type="text/javascript">
  var language = navigator.language && navigator.userLanguage;
  function openPage() {
    if (/Android/i.test(navigator.userAgent) && language.indexOf('fr') > -1)) {
      window.open('mysite.com/android_devices_for_french_visitors/');
    } else {
      window.open('mysite.com/all_other_languages_and_devices');
    } 
  }
</script>

现在您只需在您希望它发生的地方调用 openPage()
例如,如果您希望它在单击按钮时 运行,请添加一个在按钮上调用 openPage 的事件侦听器:

buttonElement.addEventListener("click", openPage);