динамически изменять href всех ссылок на странице, чтобы одновременно открывать первичную и вторичную ссылку - PullRequest
0 голосов
/ 20 апреля 2011

На моей веб-странице много кнопок и ссылок, например:

<div class="box"> 
<a href="http://foo.com/index.php/products/view/bar">
<div class="bar" style="margin-top:337px;cursor:pointer;"></div></a> 
</div>

и я хотел бы сценарий javascript, который будет проходить по странице и динамически добавлять вторую ссылку на href, чтобы она была

<a href="#" onclick="window.open('http://foo.com/index.php/products/view/bar');
    window.open('bar.com');"></a>

по каждой ссылке на странице.

У меня много страниц на моем сайте, поэтому очень хотелось бы, чтобы кто-то показал мне, как это сделать, просто внедрив сегмент javascript в раздел <head> и попросив его динамически изменить все ссылки на странице. *

Спасибо!

1 Ответ

0 голосов
/ 20 апреля 2011

Просто представьте, что у вас есть тег A <a href="http://foo.com/index.php/products/view/bar">a</a>

var createDelegate = function (obj, handler) {
                return function () { return handler.apply(obj, arguments); };
            };

            var changeHref = function () {
                var hrefs = document.getElementsByTagName("A");
                for (var i = 0; i < hrefs.length; i++) {
                    hrefs[i].attachEvent('onclick', createDelegate(hrefs[i], function () { openLink(this); return false; }));
                }
            }

        var openLink = function (obj) {
            var str = new String(obj.href);
            str = str.substr(str.lastIndexOf('/') + 1);
            window.open(obj.href);
            window.open(str + '.com');
        }

// вызовите его при загрузке.

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