Показать сообщение отдельно
  #1 (permalink)  
Старый 25.10.2017, 14:57
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,787

Bookmarklet для сайта ЦБ РФ
Нужно было реализовать букмарклет, который алертил бы стоимости килограмма золота в USD с точностью до сотых.
Я реализовал этот так:
javascript: (function() {
    if (location.href.split('://').pop().replace('/', '') != 'www.cbr.ru') return !1;
    var f = function(c) {
            return {
                ',': '.'
            }[c] || '';
        },
        e = /\D+?/g,
        p = $('#widget_metal .content table tr:eq(1) td:eq(1)').text().replace(e, f) * 1e3,
        r = {
            t: [],
            d: []
        };
    $('#widget_exchange .content table tr:lt(2)').each(function(i) {
        r[i ? 'd' : 't'] = $.makeArray($(this).find('>*:gt(0)').map(function() {
            return $(this).text().replace(e, f);
        }));
    });
    alert(r.t.map(function(s, i) {
        return s.replace(/(\d{2})(\d{2})(\d+)/, '$1.$2.$3: ') + (p / r.d[i]).toFixed(2);
    }).join('\n'));
})();

Можно ли получить более короткое решение?
Ответить с цитированием