我在一家租赁公司工作,我认为文书工作很痛苦,而且已经开始把它放在网上了。我正在建立一个服务/维修数据库来存储我们车队机器上的记录和信息。我们在车间里有一台台式电脑,连接到互联网,但是我们的电话线在过去几年中不断出现问题,尽管我们召集了工程师,但他们无法解释。无论如何,长话短说,我使用xampp在localhost上制作了网站和数据库的“备份”副本。我制作了一个简单的脚本来检测我们是否在线,并将其添加到onclick事件中。
function conchecklink(link) {
var online = navigator.onLine;
var livelink = "http://www.example.com/workshop/" + link;
var locallink = "http://localhost/workshop/" + link;
if (online == true) {
window.location(livelink);
}
if (online == false) {
window.location(locallink);
}
}
对于我在网站上使用的每个href:
<a onclick=\"conchecklink('service.php')\" href=\"#\"> Service</a>
<a onclick=\"conchecklink('repair.php')\" href=\"#\"> Repairs</a>
现在这在桌面上运行得非常好,当互联网退出时,它会重定向到localhost,反之亦然。但是在我的手机上查看时,onclick事件不会触发。从谷歌搜索,我知道我应该使用ontouch移动,我尝试了一些我在搜索中发现的东西,但唉,我只是一个机械师,而不是一个专业的程序员,我不能让链接在移动设备上工作。任何帮助将非常感激。
答案 0 :(得分:2)
您有错误:window.location
不是函数。在您的手机上,浏览器应该抛出错误并停止脚本。您的桌面浏览器似乎更加和谐。
您也可以使用else
而不是使用两个if
语句。
function conchecklink(link) {
var online = navigator.onLine;
var livelink = "http://www.example.com/workshop/" + link;
var locallink = "http://localhost/workshop/" + link;
if (online) window.location.href = livelink;
else window.location.href = locallink;
}
答案 1 :(得分:0)
你使用window.location的方式是错误的,它不是一个函数,因此不接受参数。 你可以像这个window.location = URL;
一样使用它