我为批量跟踪/取消关注 Twitter 用户创建了此Greasemonkey。脚本工作得很好。但是,第一次进入包含列表中的某个页面时,它不会总是(几乎从不)加载。
例如,如果我转到twitter.com/followers,除非我使用 CTRL F5 (从服务器刷新页面内容),否则不会加载脚本)。
我不确定这是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();
你可以download and/or install the script at gm.brainstack.net。
谢谢!
答案 0 :(得分:1)
此问题与I have to refresh the page for my Greasemonkey script to run?涵盖的问题类型相同。阅读,理解并使用该答案的技巧在“新”页面上“激活”您的脚本。
此外, tasa.js
中的脚本代码包含以下内容:
var localStorageString = localStorage['bsnet_app_follower'];
if (localStorageString.length > 0){
使脚本崩溃,特别是在早期运行中。
那种代码应该是:
var localStorageString = localStorage['bsnet_app_follower'];
if (localStorageString && localStorageString.length > 0){
可能还有其他问题(一眼就看不到;也没有调试脚本),但这不是代码审查的地方。