-1

理想情况下,我希望它们都运行,但是当我激活第二个和/或第三个时,脚本 1 会失败。(它什么也不做)

我想知道,是否可以将它们合并到一个脚本中?那能解决问题吗?(我很想尝试将它们剪切并粘贴到一个脚本中,看看会发生什么)

脚本 1(重新加载器)

(function () {
"use strict";

function walkTheDOM(node, func) {
    if (node && node.nodeType) {
        if (typeof func === "function") {
            func(node);
        }

        node = node.firstChild;
        while (node) {
            walkTheDOM(node, func);
            node = node.nextSibling;
        }
    }
}

function filterElementsByContains(elements, string) {
    var toStringFN = {}.toString,
        text = toStringFN.call(elements),
        result,
        length,
        i,
        element;

    if (text !== "[object NodeList]" && text !== "[object Array]" && !($() instanceof jQuery)) {
        return result;
    }

    result = [];
    if (typeof string === "string") {
        string = new RegExp("^" + string + "$");
    } else if (toStringFN.call(string) !== "[object RegExp]") {
        return result;
    }

    function getText(node) {
        if (node.nodeType === 3) {
            text += node.nodeValue;
        }
    }

    length = elements.length;
    i = 0;
    while (i < length) {
        text = "";
        element = elements[i];
        walkTheDOM(element, getText);
        if (string.test(text)) {
            result.push(element);
        }

        i += 1;
    }

    return result;
}

if(!filterElementsByContains([document.getElementsByTagName("table")[0]], /We are proud to announce that the November discounts have been chosen/).length) {
    location.reload();
}
}());

脚本 2(跳转到最后一张,如果是多张)

function getPreviousLink(){
var nextLink = document.getElementById('pagination-next-link'); 
var links = document.getElementsByClassName('v_page_nav')[0].getElementsByTagName("a");

for(var i=0; i < links.length; i++){
    if(links[i] == nextLink) { return links[i-1]; }
}
}

var link = getPreviousLink();
link.target="_blank";
link.click();

脚本 3(打开上一张,如果有的话)

var link = document.getElementById('pagination-prev-link');
link.target="_blank";
link.click();
4

1 回答 1

0

如果后两个脚本没有更改任何会导致您的第一个脚本中断的内容(例如第一个脚本查找的内容被脚本 2 删除)...。我建议进入“管理脚本”并更改它们的顺序运行...有时可以解决此类问题。

于 2013-11-15T13:18:25.893 回答