Преобразовать URL-адрес location.href в якорную ссылку - PullRequest
0 голосов
/ 12 июля 2010

Существует любой метод JavaScript или Objective-C для преобразования location.href="MyURL" в <a href="MyURL"></a> ??

У меня более 200 location.href URL не работает с UIWebViewNavigationTypeLinkClicked: -S

Спасибо всем, кто может мне помочь!

1 Ответ

0 голосов
/ 28 ноября 2014
    <a href="http://www.myurl.com" id="myAnchor"></a>

    <script type="text/javascript">
        document.getElementById("myAnchor").setAttribute("href", window.location.href);
        var loc = document.getElementById("myAnchor").getAttribute("href");
        var t = document.createTextNode(loc);
        document.getElementById("myAnchor").appendChild(t);
    </script>

Вот один из способов сделать это: document.getElementById () получает ссылку на атрибут ID вашего якоря (ов).Второй аргумент setAttribute (), "window.location.href", получает ссылку на URL-адрес в текущем окне и устанавливает атрибут href в привязке к нему, однако, если у вас есть несколько объявленных location.href ()в своем коде, затем сохраните их как переменную перед первой строкой, а затем ссылайтесь на эту переменную примерно в той же строке, где я объявил «loc».Переменная «loc» объявляет переменную, в которой хранится ссылка на вновь созданный атрибут href, который вы только что объявили в предыдущей строке.Затем я объявляю переменную "t", которая создает текстовый узел в DOM, с href из предыдущей строки в качестве значения, которое будет содержать эта переменная.Наконец, я использую document.getElementById, чтобы снова получить «myAnchor» и добавить к нему текстовый узел из предыдущей строки.Так что теперь мы можем увидеть URL в ссылке.

        //Also, use a for loop to run this action 200 times and correct all of the   hrefs       on your page.
        <script type="text/javascript">
           for (var i=0;i<200;i++){
              //run document.getElementById() and .setAttribute, .createTextNode, etc. here
            }
        </script>

Рабочая скрипка: http://jsfiddle.net/1so33q4z/36/

Я бы не рекомендовал использовать document.write ();как упоминалось в посте другого человека, так как это заставляет страницу работать так, как не предназначена DOM (пишет сериализованный текст).Особенно, если вам нужно исправить 200 из них.См. Этот пост Почему document.write считается "плохой практикой"?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...