Javascript 如何单击一个";“显示更多”;与Greasemonkey有联系?

Javascript 如何单击一个";“显示更多”;与Greasemonkey有联系?,javascript,ajax,click,greasemonkey,Javascript,Ajax,Click,Greasemonkey,访问时,我希望从Greasemonkey脚本调用“SHOW MORE”。 我试过半打方法,但都没用。我想我遗漏了一些基本的东西 谢谢这是一个非常常见的问题;有关如何解决此类问题的更多详细信息,请参阅 考虑到这个方法,唯一的艺术/技能/困难部分是选择正确的jQuery选择器。在这种情况下,“显示更多”链接可以通过以下方式可靠地进行: #synopsis div.copy a.show-more-truncate 因此,完整的工作脚本将是: // ==UserScript== // @name

访问时,我希望从Greasemonkey脚本调用“SHOW MORE”。
我试过半打方法,但都没用。我想我遗漏了一些基本的东西


谢谢

这是一个非常常见的问题;有关如何解决此类问题的更多详细信息,请参阅

考虑到这个方法,唯一的艺术/技能/困难部分是选择正确的jQuery选择器。在这种情况下,“显示更多”链接可以通过以下方式可靠地进行:

#synopsis div.copy a.show-more-truncate

因此,完整的工作脚本将是:

// ==UserScript==
// @name     _BBC episode, click "Show More" link
// @include  http://www.bbc.co.uk/programmes/*
// @require  http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/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 (
    "#synopsis div.copy a.show-more-truncate", clickShowMoreLink, true
);

function clickShowMoreLink (jNode) {
    var clickEvent = document.createEvent('MouseEvents');
    clickEvent.initEvent ("click", true, true);
    jNode[0].dispatchEvent (clickEvent);
}

布罗克,太完美了。谢谢你提供的所有细节。爱你的侍者,不客气;很乐意帮忙。这个问题的回答解决了我的问题。如果是含糊不清的,我不明白这是怎么做到的,等等:-)阅读常见问题解答。通常,人们希望看到演示问题所需的代码和您尝试过的代码。的确,我最初投票决定结束这个问题(其他4位有经验的用户也是如此)。但在我搜索了一点之后,我决定这可能是一个简单的“如何”可以帮助初学者。我回答了问题,投了赞成票,并投票决定重新开放。如果你觉得这个问题被不恰当地解决了,你可以接受它。但是,我读过常见问题;首先阅读并编辑你的问题。PS:我也编辑了这个问题,以使其具有更广泛的适用性,但只有你才能表明你做了编程工作。而且,您可以在这里显示页面的相关HTML和/或其他代码。