Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/412.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
点击“使javascript在Amazon上执行”;下一页;?_Javascript_Ajax_Amazon_Greasemonkey - Fatal编程技术网

点击“使javascript在Amazon上执行”;下一页;?

点击“使javascript在Amazon上执行”;下一页;?,javascript,ajax,amazon,greasemonkey,Javascript,Ajax,Amazon,Greasemonkey,我有一个Greasemonkey脚本,在亚马逊的结果页面上执行。但是,由于“下一页”按钮动态更新结果,因此脚本仅在第一次加载页面时执行,而不再在单击“下一页”按钮后执行 例如,如果我转到一个类似Amazon的页面,并且我的脚本运行以处理结果,那么当我单击页面底部的“下一页”时,脚本将不再运行,因为结果将动态更新 当用户单击“上一页”或“下一页”链接加载新结果集时,如何使脚本应用于新结果集?Amazon使用AJAX更改结果,并且不触发hashchange事件,甚至不更改标题 不要紧;对于这种情况,

我有一个Greasemonkey脚本,在亚马逊的结果页面上执行。但是,由于“下一页”按钮动态更新结果,因此脚本仅在第一次加载页面时执行,而不再在单击“下一页”按钮后执行

例如,如果我转到一个类似Amazon的页面,并且我的脚本运行以处理结果,那么当我单击页面底部的“下一页”时,脚本将不再运行,因为结果将动态更新


当用户单击“上一页”或“下一页”链接加载新结果集时,如何使脚本应用于新结果集?

Amazon使用AJAX更改结果,并且不触发
hashchange
事件,甚至不更改标题

不要紧;对于这种情况,请使用

例如,下面是一个简单的脚本,用于交替结果颜色:

// ==UserScript==
// @name     _Amazon: Stripe Search Results
// @include  http://www.amazon.com/s/*
// @require  http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js
// @require  https://gist.github.com/raw/2625891/waitForKeyElements.js
// @grant    GM_addStyle
// ==/UserScript==
/*- The @grant directive is needed to work around a design change
    introduced in GM 1.0.   It restores the sandbox.
*/
waitForKeyElements ("#searchTemplate div.results div.result", stripeAlternateRows);

function stripeAlternateRows (jNode) {
    var rezRow  = jNode.attr ("id").replace (/result_/, "");
    rezRow      = parseInt (rezRow, 10)  ||  0;

    if (rezRow % 2) {
        //-- Color every odd row.
        jNode.css ("background", "#EEFFEE");
    }
}

参考: