【发布时间】:2013-01-14 15:25:55
【问题描述】:
我尝试编写一个userscript 代码,它会删除网站标题中的所有内容(flash browsergame),但开始操作时会出现倒计时。
我是 Javascript 新手,需要一些帮助。
更新
正则表达式问题已解决,但我仍然需要一些帮助才能让此脚本“监控”标题,以便每次游戏更改时脚本都会再次运行。
主标题如下所示:
Shakes & Fidget - The Game (buffed buffed)
一旦开始动作,就会在开头添加倒计时,因此标题变为
02:26 - Shakes & Fidget - The Game (buffed buffed)
我希望标题只显示倒计时。
我在网上搜索并找到了不同的方法来做到这一点,但它们都不适合我。
这是我目前拥有的:
// ==UserScript==
// @name Shakes & Fidget Buffed title shortener
// @namespace http://släcker.de
// @version 0.1
// @description Removes the page title of Shakes & Fidget to only display left time if it exists
// @include *.sfgame.*
// @exclude www.sfgame.*
// @exclude sfgame.*
// @copyright 2013+, slaecker
// ==/UserScript==
var regex = [^0-9:]
function cleanTitle() {
var oldTitle = document.title;
var oldTitleRX = oldTitle.match(regex);
document.title = oldTitle.replace(oldTitleRX,"");
return oldTitle;
}
cleanTitle()
Javascript 控制台显示有关正则表达式的错误。我试图转义字符,但错误是一样的:
env: ERROR: Syntax error @ 'Shakes & Fidget Buffed title shortener'!
Unexpected token ^
SyntaxError: Unexpected token ^
at Window.Function (<anonymous>)
at L (eval at <anonymous> (eval at <anonymous> (chrome-extension://dhdgffkkebhmkfjojejmpbldmpobfkfo/content.js:51:21)), <anonymous>:156:21)
at n (eval at <anonymous> (eval at <anonymous> (chrome-extension://dhdgffkkebhmkfjojejmpbldmpobfkfo/content.js:51:21)), <anonymous>:384:2)
at R (eval at <anonymous> (eval at <anonymous> (chrome-extension://dhdgffkkebhmkfjojejmpbldmpobfkfo/content.js:51:21)), <anonymous>:388:86)
at Q (eval at <anonymous> (eval at <anonymous> (chrome-extension://dhdgffkkebhmkfjojejmpbldmpobfkfo/content.js:51:21)), <anonymous>:194:40)
Uncaught SyntaxError: Unexpected token ^
L
n
R
Q
它必须是一个正则表达式匹配,因为包含的字符串“(buffed buffed)”发生了变化(它显示了服务器名称)。
另一个问题是脚本应该“监控”标题,因为每次启动或完成新操作时它都会更改,但我的脚本只运行一次(在没有正则表达式的情况下对其进行了测试)。
提前感谢您的帮助,
懒鬼
【问题讨论】:
-
@SunnyTAR:这在 js 控制台中给了我“SyntaxError: Unexpected token {”。据我所知,这不会在分钟和秒之间留下“:”,对吧?