Xorcerer
狐狸大王
狐狸大王
  • UID21159
  • 注册日期2007-10-10
  • 最后登录2015-02-08
  • 发帖数455
  • 经验15枚
  • 威望0点
  • 贡献值8点
  • 好评度0点
阅读:4284回复:6

针对本论坛的GreaseMonkey的JS脚本,第一次做GM的js哦。

楼主#
更多 发布于:2008-06-09 01:41
tabs显示的标题总是“Mozilla Firefox 中文社区::”开头,然后才是该tab的主要内容,这样tabs一开多,就一片“Mozilla Firefox...”,不能直接知道内容。
曾经反应过这个问题,不过没有变化,所以想想,要求别人还不如自己修改。
发完这个帖子就去找资料,已经做好了。
请大家测试一下。 修改后的效果是把当前页面的主要描述提前。
比如本页面就是:
针对本论坛的GreaseMonkey的JS脚本,第一次做GM的js哦。- 浏览主题 - Mozilla Firefox 中文社区
另外,请教一个问题,为什么读取title可以用
document.getElementsByTagName("title")[0].innerHTML

而设置title却一定要document.title呢?
注意最后一句我注释掉的,那句运行是无效的,但是我用alert观察,发现属性的确被修改了,也就是说,它不是只读的。

脚本已失去意义,因为fiag修改的论坛标题的显示方式。
// ==UserScript==
// @name           Firefox.net.cn Title Adjust
// @namespace      Xz
// @description  Adjust the title of forum of Firefox.net.cn
// @include        https://www.firefox.net.cn/newforum/*
// ==/UserScript==

var originalTitle = document.title;
var splitterIndex = originalTitle.indexOf("::");
var splitterLength = 2;
var newTitle = originalTitle.substr(splitterIndex + splitterLength) + " - " + originalTitle.substr(0, splitterIndex);
document.title = newTitle;
//document.getElementsByTagName("title")[0].innerHTML = newTitle;
fiag
管理员
管理员
  • UID1188
  • 注册日期2004-12-21
  • 最后登录2024-04-22
  • 发帖数4681
  • 经验686枚
  • 威望0点
  • 贡献值402点
  • 好评度51点
1楼#
发布于:2008-06-09 01:41
Xorcerer:tabs显示的标题总是“Mozilla Firefox 中文社区::”开头,然后才是该tab的主要内容,这样tabs一开多,就一片“Mozilla Firefox...”,不能直接知道内容。
曾经反应过这个问题,不过没有变化,所以想想,要求别人还不如自己修改。
发完这个帖子就去找资料,已经做好了。
请大家测试一下。 修改后的效果是把当前页面的主要描述提前。
比如本页面就是:
针对本论坛的GreaseMonkey的JS脚本,第一次做GM的js哦。- 浏览主题 - Mozilla Firefox 中文社区
回到原帖


哈哈,我马上就改了。楼下继续讨论 Greasemonkey 吧。
Xorcerer
狐狸大王
狐狸大王
  • UID21159
  • 注册日期2007-10-10
  • 最后登录2015-02-08
  • 发帖数455
  • 经验15枚
  • 威望0点
  • 贡献值8点
  • 好评度0点
2楼#
发布于:2008-06-09 01:41
太开心了,居然有人深夜回我的帖子,很多东西我都是自己google出来的,对于js我基本是一片空白。
fiag,你害我的脚本失效了................难得我有表现的机会...................真残忍。
上次在版务区提出,你回复了,却不改,现在你却跑来毁了我一个小通宵的努力
关于本论坛,不知道各位还需要哪方面的修改?我会尽力的。
fiag
管理员
管理员
  • UID1188
  • 注册日期2004-12-21
  • 最后登录2024-04-22
  • 发帖数4681
  • 经验686枚
  • 威望0点
  • 贡献值402点
  • 好评度51点
3楼#
发布于:2008-06-09 01:41
Xorcerer:太开心了,居然有人深夜回我的帖子,很多东西我都是自己google出来的,对于js我基本是一片空白。
fiag,你害我的脚本失效了................难得我有表现的机会...................真残忍。
上次在版务区提出,你回复了,却不改,现在你却跑来毁了我一个小通宵的努力
关于本论坛,不知道各位还需要哪方面的修改?我会尽力的。
回到原帖


上次不知道什么事情给耽搁了,然后就忘记了。 sorry。。。
fiag
管理员
管理员
  • UID1188
  • 注册日期2004-12-21
  • 最后登录2024-04-22
  • 发帖数4681
  • 经验686枚
  • 威望0点
  • 贡献值402点
  • 好评度51点
4楼#
发布于:2008-06-09 01:41
回答楼主的问题:

document.getElementsByTagName("title")[0].innerHTML

getElementsByTagName 就是取得 HTML 代码中所有的 <title> 标签的信息,返回的是一个数组。

一般情况下 HTML 只有一个 <title>标签(除非写错了,肯定通不过W3C校验),当然这个数组的第一个元素 [0] 里面的文本就是 这个页面的标题。

HTML 规范中 <head> 标签里面的 <title> 就是这个页面的标题。

欢迎交流! :D
Xorcerer
狐狸大王
狐狸大王
  • UID21159
  • 注册日期2007-10-10
  • 最后登录2015-02-08
  • 发帖数455
  • 经验15枚
  • 威望0点
  • 贡献值8点
  • 好评度0点
5楼#
发布于:2008-06-09 01:41
fiag:回答楼主的问题:

document.getElementsByTagName("title")[0].innerHTML

getElementsByTagName 就是取得 HTML 代码中所有的 <title> 标签的信息,返回的是一个数组。

一般情况下 HTML 只有一个 <title>标签(除非写错了,肯定通不过W3C校验),当然这个数组的第一个元素 [0] 里面的文本就是 这个页面的标题。

HTML 规范中 <head> 标签里面的 <title> 就是这个页面的标题。

欢迎交流! :D
回到原帖

 谢谢,那么为什么我只能读取却无法设置title呢?通过getElementByTag那句?
fiag
管理员
管理员
  • UID1188
  • 注册日期2004-12-21
  • 最后登录2024-04-22
  • 发帖数4681
  • 经验686枚
  • 威望0点
  • 贡献值402点
  • 好评度51点
6楼#
发布于:2008-06-09 01:41
其实你设置成功了,可以通过DOM查看器看<title>标签内容确实变了。

但是FF不会再去看这个<title>标签,她只认了 document.title。
游客

返回顶部