我想使用JavaScript更改href,然后打开ios应用。随附代码中标记为“第三”的项目将按预期方式打开应用程序。标有“第一个”或“第二个”的代码将打开应用程序,但不会传达所需的坐标。我不明白为什么它们不能正常运行,因为每种情况下href文本的格式都相同。
<!DOCTYPE HTML>
<html>
<body>
<p><a id="myAnchor" href="">first</a></p>
<button onclick="secondFunction()">second</button>
<p><a href="gaiagps://map?lat=38.721&lng=-122.819&z=14">third</a></p>
<script>
var text = 'gaiagps://map?lat=31.933&lng=-95.236&z=14';
firstFunction();
function firstFunction() {
document.getElementById("myAnchor").href = text;
}
function secondFunction() {
location.replace(text)
}
</script>
</body>
</html>
答案 0 :(得分:0)
您只需要在输入原始HTML时使用&
;浏览器将为您将&
转换为&
。
更改
var text = 'gaiagps://map?lat=31.933&lng=-95.236&z=14';
至
var text = 'gaiagps://map?lat=31.933&lng=-95.236&z=14';
和您的两个功能应该可以实现您的预期。
此外,您可以在浏览器控制台中输入
document.getElementsByTagName('p')[1].children[0].href
看到浏览器将您的`&`转换为&符。