Chrome: Uncaught TypeError: Невозможно прочитать свойство 'replace' из неопределенного - PullRequest
0 голосов
/ 12 марта 2019

Я пытаюсь написать код для автоматического выбора переключателя:

<input type="radio" class="pricezone-radio-input" 
name="abcdef" value="123" checked="" title="A">

Поскольку имя переключателя меняется каждый раз при обновлении веб-сайта, поэтому вместо него я использовал название

var $ = window.jQuery;
(function() {
'use strict';

// Your code here...
$("[A']").click();
})();

Когда я смотрю на консоль в Chrome, после запуска кода возникает ошибка:

common.js?version=1552060637712:1175 Uncaught TypeError: Cannot read 
property 'replace' of undefined
at handleAjaxError (common.js?version=1552060637712:1175)
at Object.success (performanceDetail.js?version=1552060637712:345)
at u (userscript.html?id=8cad0fd6-8836-407e-b409-3f083400471d:5)
at Object.fireWith [as resolveWith] (userscript.html?id=8cad0fd6-8836-407e- 
b409-3f083400471d:5)
at k (userscript.html?id=8cad0fd6-8836-407e-b409-3f083400471d:5)
at XMLHttpRequest.eval (userscript.html?id=8cad0fd6-8836-407e-b409- 
3f083400471d:5)

Кто-нибудь может подсказать, как это исправить?


Просто найдите, что это скрипт самого сайта, вызывающий проблему

handleAjaxError = function(ajaxData){
    var metaTag = $(ajaxData).filter("meta[http-equiv=refresh]");
    if (typeof(metaTag) !== undefined) {
        var content = metaTag.attr("content");
        var url = content.replace("0; url=", "");
        window.location.href = url;
    } else {
        $('#loading-blk').hide('hidden');
        $('.ajax-call-error').removeClass('hidden');
    }
};

Есть ли способ, которым я могу решить это?


Chrome: версия 72.0.3626.121; Tampermonkey: v4.8

Точный скрипт, который я использую:

// ==UserScript==
// @name         New test
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  try to take over the world!
// @author       You
// @match        https://ticket.urbtix.hk/internet/zh_TW/secure/event/37954/performanceDetail/367999
// @require http://code.jquery.com/jquery-3.3.1.min.js
// @grant        none
// ==/UserScript==

var $ = window.jQuery;


(function() {
    'use strict';

    // Your code here...
    $("[title='Price Zone B']").click();

})();
...