我知道这已作为单独的问题广泛讨论;我尝试过复制已验证的答案,但是在对Javascript条件语句和链接URL更改进行同步时遇到了麻烦。
本质上,我需要做的是检测移动用户并将电话会议URL更改为电话链接。我一直在使用if (screen.width <=699) {
作为条件,它适用于重定向。这是我尝试过的:
<script type="text/javascript">
<!--
var call=document.getElementByID('phone');
if (screen.width <= 699) {
call.write('<a href="tel:!PHONENUMBER!">');
else
call.write('<a href="!URL!" target="blank">);
}
//--!>
</script>
</head><body>
...
<a href="!URL!" id="phone">...</a>
我也尝试了用相应的else语句来尝试这些方法:
没有var和document.getElementByID('phone').write
onclick = function() { window.location.href ='tel:!PHONENUMBER!};
。
call.src.replace('tel:!PHONENUMBER!');
call.setAttribute("href",'tel:!PHONENUMBER!');
如果这是一个非常基本的问题,我深表歉意-我仍在学习Javascript。预先谢谢你。
会
答案 0 :(得分:0)
在执行JavaScript之前,您需要等待页面完成加载,或者将script
块移至HTML的底部。
如果要等待页面完成加载,则将代码包装在以下内容中:
window.onload = function () {
// your code goes here
}
答案 1 :(得分:0)
在@sepbot的帮助下找到了答案。
<body onload="mobileURL()">
<div id="phone"></div>
<script type="text/javascript">
function mobileURL() {
var a = document.createElement("a");
a.innerHTML="!LINKTEXT!";
var myPhone = document.getElementById('phone');
if (screen.width <= 699) {
a.setAttribute('href', '!TELEPHONE!');
myPhone.appendChild(a);
} else {
a.setAttribute('href', '!URL!');
myPhone.appendChild(a);
}
}
</script>