как мне обновить href и открыть приложение ios? - PullRequest
0 голосов
/ 10 января 2019

Я хочу изменить href с помощью javascript, а затем открыть приложение 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&amp;lng=-122.819&amp;z=14">third</a></p>

<script>
    var text = 'gaiagps://map?lat=31.933&amp;lng=-95.236&amp;z=14';
    firstFunction();

    function firstFunction() {      
        document.getElementById("myAnchor").href = text;
    }

    function secondFunction() {
      location.replace(text)
    }

</script>
</body>
</html>

1 Ответ

0 голосов
/ 10 января 2019

Вам нужно использовать &amp; только при вводе необработанного HTML; браузер конвертирует &amp; в & для вас.

Изменение

var text = 'gaiagps://map?lat=31.933&amp;lng=-95.236&amp;z=14';
в
var text = 'gaiagps://map?lat=31.933&lng=-95.236&z=14';

и ваши две функции должны делать то, что вы хотели.

Как добавление, в консоли браузера вы можете набрать

document.getElementsByTagName('p')[1].children[0].href
чтобы увидеть, что браузер преобразовал ваши `&` 'в амперсанды.
...