Показать сообщение отдельно
  #1 (permalink)  
Старый 18.05.2018, 16:47
Новичок на форуме
Отправить личное сообщение для LeoBB Посмотреть профиль Найти все сообщения от LeoBB
 
Регистрация: 18.05.2018
Сообщений: 4

Починить пользовательский скрипт / split и сравнение
Здравствуйте,

есть пользовательский скрипт, раньше работал, а теперь нет результата, смысл скрипта: на странице появляются динамические ссылки на товары с тегом h3, внутри текст, заканчивается ценой. Нужно отсекать весь текст до цены, затем сравнивать их между собой и выбирать самое большое значение. Исходный код страницы:

<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=windows-1252">
</head>
<body>
<a href="https://xxx.com/details/18705731"><h3>(Standard) | Item | 9 pics | Price: US$0.27</h3>
</a>
Item
<br>Wed, 12 Oct 2016 04:00:56 +0000
<hr>
<a href=""><h3></h3></a><br><hr>
<a href=""><h3></h3></a><br><hr>...


Вот сам скрипт:

// ==UserScript==
// @name         myScript
// @namespace    [url]http://tampermonkey.net/[/url]
// @version      0.1
// @description  script!
// @include      xxx.com/rss.php
// @include      *xxx/*
// @include      [url]http://rutr*[/url]
// @include      [url]https://rutr*[/url]
// @require  [url]http://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js[/url]
// @require  [url]https://gist.github.com/raw/2625891/waitForKeyElements.js[/url]
// @author       You
// @match        [url]https://mail.google.com/mail/u/0/#inbox[/url]
// @grant        none
// ==/UserScript==
(function() {
    'use strict';

                var job = $('a h3:contains("$")');
                var i = 0;
                var prices = [];
                var links = [];
                var max = 0;
                var link = '';
                job.each(function(){
                    prices[i] = $(this).html().split('$')[1];
                    links[i] = $(this).parent().attr('href');
                    i++;
                });
                for (var i = 0; i<prices.length; i++) {
                    if (max < parseInt(prices[i])) {
                        max = prices[i];
                        link = links[i];
                    }
                }
                if ((max > 0) && link && link.length) {
                    window.open(link,"_self");
                }
})();


Не подскажете, в чем ошибка?

Последний раз редактировалось LeoBB, 18.05.2018 в 17:39.
Ответить с цитированием