gpt4 book ai didi

javascript - 使用 Greasemonkey 仅定位非事件按钮

转载 作者:行者123 更新时间:2023-11-28 01:53:46 24 4
gpt4 key购买 nike

我正在尝试为站点 Lift.do 编写一个简短的 Greasemonkey 脚本,它将单击我所有连接的“Prop”按钮。这些功能类似于 Facebook 上的“喜欢”按钮 - 您可以打开和关闭它们。

问题是,当重新加载页面时,脚本会停用之前激活的按钮。那么我该如何修改脚本以仅针对非事件的“Prop”按钮呢?

我在此页面上使用了 Brock Adams 的教程作为指南 - Choosing and activating the right controls on an AJAX-driven site - 事实上,下面的大部分内容都是从我从 StackExchange 问题的答案中获得的信息直接复制/粘贴的。

// ==UserScript==
// @name Lift Propper
// @namespace https://lift.do/app/activity
// @description Props friends' lifts automatically
// @include https://lift.do/app/activity
// @require http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js
// @require https://gist.github.com/raw/2625891/waitForKeyElements.js
// @version 1
// @grant none
// ==/UserScript==

waitForKeyElements ("a.action-button", triggerMostButtons);

function triggerMostButtons (jNode) {

triggerMouseEvent (jNode[0], "mouseover");
triggerMouseEvent (jNode[0], "mousedown");
triggerMouseEvent (jNode[0], "click"); //only needs click event, I think
triggerMouseEvent (jNode[0], "mouseup");
}

function triggerMouseEvent (node, eventType) {
var clickEvent = document.createEvent('MouseEvents');
clickEvent.initEvent (eventType, true, true);
node.dispatchEvent (clickEvent);
}

我复制了 URL 的来源并将其放在这里:http://pastebin.com/mfF8tbdC ,尽管我不知道这有多大帮助,因为事件提要的内容看起来像是通过 AJAX 传入的。

我尝试处理的 URL 是 https://lift.do/app/activity ,但这当然与我的特定帐户相关联。

这是我定位的节点的 html(来自 Firebug ):

<a class="action-button prop-button" ng-class="{active: item.propId}" ng-click="prop(item.id, item.propId)" ng-show="item.proppable"></a>

这是处于事件状态的同一个按钮:

<a class="action-button prop-button active" ng-class="{active: item.propId}" ng-click="prop(item.id, item.propId)" ng-show="item.proppable"></a>

这两个具有相同的 CSS 路径。那么我如何使用 waitForKeyElements 来区分这两者呢?如何仅针对非事件的 Prop 按钮?

最佳答案

试试这个:

waitForKeyElements ("a.action-button:not(.active)", triggerMostButtons);

这里的第一个参数就像一个 jquery 选择器。它发现:

  • “a”标签 (a)
  • 带有一类“ Action 按钮”(.action-button)
  • 没有“active”类(:not(.active))

注意“.”字符是类标识符的 CSS 表示法。

这是“not”的 jquery 引用:http://api.jquery.com/not-selector/

关于javascript - 使用 Greasemonkey 仅定位非事件按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18422262/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com