chrome 中的 Tampermonkey 调用延迟加载锚点标签

Tampermonkey in chrome call late loading anchor tag

提问人:Steve Coleman 提问时间:3/5/2023 最后编辑:Steve Coleman 更新时间:3/5/2023 访问量:24

问:

我希望脚本在已将其加载到 imdb 的任何页面上单击父母指南锚链接。 找到 waitForKeyElements 的代码。它触发,但 TargetLink.length = 0,因为父指南部分在触发时尚未加载。 我的脚本如下

// ==UserScript==
// @name         New Userscript
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  try to take over the world!
// @author       You
// @match        https://www.imdb.com/title/*
// @require  http://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js
// @require  https://gist.github.com/raw/2625891/waitForKeyElements.js
// @grant    GM_addStyle
// @run-at      document-idle
// ==/UserScript==
/*- The @grant directive is needed to work around a design change
    introduced in GM 1.0.   It restores the sandbox.
*/

(function() {
    waitForKeyElements (
        "a:contains('Parents guide'))"
        , clickWhen());
})();

function clickWhen () {
  //--- Note that the contains() text is case-sensitive.
        var TargetLink = $("a:contains('Parents guide')")
        if (TargetLink.length)
            window.location.href = TargetLink[0].href
}

我正在测试的页面链接 https://www.imdb.com/title/tt1431045/

测试页上的代码

<a class="ipc-metadata-list-item__icon-link" role="button" tabindex="0" aria-label="Parents guide: see all" aria-disabled="false" href="/title/tt1431045/parentalguide?ref_=tt_stry_pg"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" class="ipc-icon ipc-icon--chevron-right" id="iconContext-chevron-right" viewBox="0 0 24 24" fill="currentColor" role="presentation"><path fill="none" d="M0 0h24v24H0V0z"></path><path d="M9.29 6.71a.996.996 0 0 0 0 1.41L13.17 12l-3.88 3.88a.996.996 0 1 0 1.41 1.41l4.59-4.59a.996.996 0 0 0 0-1.41L10.7 6.7c-.38-.38-1.02-.38-1.41.01z"></path></svg></a>

调试截图。您可以看到该页面尚未完全加载家长指南部分enter image description here

jQuery Google-chrome 篡改猴

评论

0赞 Steve Coleman 3/5/2023
编辑了我的帖子,我发现了一个愚蠢的错误。现在 waitForKeyElements 正在触发
0赞 Steve Coleman 3/5/2023
我已经测试了clickWHen代码,一旦页面完全加载,它就可以工作。

答: 暂无答案