如何将 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);
我目前有 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);