gpt4 book ai didi

jquery - 使用 jQuery 检测何时加载新推文?

转载 作者:行者123 更新时间:2023-12-01 07:52:45 25 4
gpt4 key购买 nike

您知道当您滚动到个人资料页面底部(我说的是用户的个人页面,而不是时间线)时,新推文会自动加载。我正在编写一个用户脚本,我想在每次加载这些新推文时执行一个函数。

但我无法找到检测此新推文加载事件的方法。我假设它是一个 AJAX 请求,对吧?所以我尝试了以下两个功能,但没有成功。

$(document).ajaxComplete(function() {
alert("Complete! New tweets loaded!");
});

$(document).ajaxSuccess(function() {
alert("Success! New tweets loaded!");
});

这是我到目前为止所拥有的。这在页面首次加载时有效。但它不会影响向下滚动后加载的推文。

// ==UserScript==

// @name CoolScript
// @include https://twitter.com/IJNanayakkara
// @include https://twitter.com/IJNanayakkara/status/*
// @require http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js
// @require https://gist.github.com/raw/2625891/waitForKeyElements.js
// @version 1.0
// @license GPL v3 or any later version (http://www.gnu.org/copyleft/gpl.html)
// @grant GM_addStyle

// ==/UserScript==

$.each($('p.js-tweet-text'), function() {
$(this).prepend("Brought to you by ");
});

如何检测从 jQuery 加载新推文?

<小时/>

编辑:我注意到另一个问题。当您导航到该页面时,该脚本不会运行。我实际上必须刷新页面。我搜索发现this answer 。我将该 .js 文件导入到脚本中,但我不知道我实际上应该等待哪个元素。

如何让脚本在不手动刷新的情况下运行?

最佳答案

如果,你的代码是这样的:

$.each($('p.js-tweet-text'), function() {
$(this).prepend("Brought to you by ");
});

在页面的静态位上工作,或者从命令控制台工作,然后它转换为以下 waitForKeyElements 代码:

waitForKeyElements ("p.js-tweet-text", prependToTweet);

function prependToTweet (jNode) {
jNode.prepend("Brought to you by ");
}

简单:选择器保持不变,.each()代码直接移植,只是$(this)替换为jNode.

<小时/>

waitForKeyElements 自动处理 AJAX 元素(适用于向下滚动且无需刷新)。

关于jquery - 使用 jQuery 检测何时加载新推文?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27693612/

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