Greasemonkey脚本只能用CTRL + F5加载

Greasemonkey script only loads with CTRL + F5?

本文关键字:F5 加载 CTRL 脚本 Greasemonkey      更新时间:2023-09-26

我创建了这个Greasemonkey用于批量关注/取消关注Twitter用户。脚本工作得很好。然而,当我第一次访问包含列表中的一个页面时,它并不总是(几乎从来没有)加载。

例如,如果我转到twitter.com/followers,脚本将无法加载,除非我使用CTRLF5(它从服务器刷新页面内容)。

我不确定这是如何Greasemonkey脚本应该运行,或者有一些东西在我的代码,我需要改变?

GM脚本:

// ==UserScript==
// @name            Brainstack.net "YOU Follow (Beta)"
// @namespace       net.brainstack.gm
// @description     Script for automating the following of users from the Twitter Followers page
// @require         http://gm.brainstack.net/tasa/tasa.js
// @resource        tasa_CSS http://gm.brainstack.net/tasa/tasa.css
// @downloadURL     http://gm.brainstack.net/tasa/Brainstack.net_tasa.user.js
// @updateURL       http://gm.brainstack.net/tasa/Brainstack.net_tasa.meta.js
// @include         https://twitter.com/followers*
// @include         https://www.twitter.com/followers*
// @include         https://twitter.com/*/followers*
// @include         https://www.twitter.com/*/followers*
// @include         https://twitter.com/*/following*
// @include         https://www.twitter.com/*/following*
// @include         https://twitter.com/following*
// @include         https://www.twitter.com/following*
// @include         https://twitter.com/search/users?*
// @run-at          document-end
// @grant           GM_getResourceText
// @grant           GM_addStyle
// @version         1.14
// ==/UserScript==
//add CSS to head
var CSS = GM_getResourceText("tasa_CSS");
GM_addStyle(CSS);
//hook to the page load
bsnet_app_page_load();

你可以在gm.brainstack.net下载和/或安装这个脚本。

谢谢!

这个问题与我必须刷新页面才能运行Greasemonkey脚本所涵盖的问题相同。阅读、理解并使用答案中的技巧,在"新"页面上"点燃"你的脚本。

此外, tasa.js中的脚本代码有如下内容:

var localStorageString = localStorage['bsnet_app_follower'];
if (localStorageString.length > 0){

会使脚本崩溃,特别是在早期运行时。

这种代码应该是:
var localStorageString = localStorage['bsnet_app_follower'];
if (localStorageString  &&  localStorageString.length > 0){


可能有其他问题(没有看到任何一眼;也没有调试脚本),但这不是代码审查的地方。