我有一个html页面,我想在加载此页面时启动我的原生应用程序。以下是我的代码:
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script src="https://code.jquery.com/jquery-1.12.1.js"></script>
</head>
<body>
<br><br><br>
<a id="link1" style='display:none' href="baidufe://schemedemo/get/info?id=10000">test link</a>
<br>
<button onclick="launch()">Launch</button>
</body>
<script language="JavaScript">
function launch(){
console.log("test");
var clickTarget = document.getElementById("link1");
clickTarget.click();
};
window.onload=function(){
launch();
};
</script>
</html>
但是当我在android chrome(版本为49)中打开此页面时,我的原生应用程序尚未启动。当我点击&#34;启动&#34;按钮,我的原生应用程序可以成功启动。
根本原因是什么?但我的要求是本机应用程序将在打开此页面时启动,如何解决?谢谢!
答案 0 :(得分:0)
这似乎是一种相当间接的方式来实现您想要的...而不是模拟点击事件,为什么不直接设置窗口位置并跳过一步?
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
</body>
<script>
setTimeout(function() {
window.location = 'baidufe://schemedemo/get/info?id=10000'
}, 250);
</script>
</html>
请记住,以这种方式自动重定向用户会有 ton 的边缘情况,并且如果他们没有安装您的应用,可能会显示令人讨厌的“无法找到页面”错误。