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 http://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; |
[/b]
上一次由Xorcerer于2008-6-09 周一, 04:14修改,总共修改了1次
#2: Re: 针对本论坛的GreaseMonkey的JS脚本,第一次做GM的js哦。 作者: fiag, 来自: 京 时间: 2008-6-09 周一, 03:44
—
Xorcerer 写道: |
tabs显示的标题总是“Mozilla Firefox 中文社区::”开头,然后才是该tab的主要内容,这样tabs一开多,就一片“Mozilla Firefox...”,不能直接知道内容。 曾经反应过这个问题,不过没有变化,所以想想,要求别人还不如自己修改。 发完这个帖子就去找资料,已经做好了。 请大家测试一下。 修改后的效果是把当前页面的主要描述提前。 比如本页面就是: 针对本论坛的GreaseMonkey的JS脚本,第一次做GM的js哦。- 浏览主题 - Mozilla Firefox 中文社区 |
哈哈,我马上就改了。楼下继续讨论 Greasemonkey 吧。
#3: 作者: Xorcerer, 时间: 2008-6-09 周一, 04:09
—
太开心了,居然有人深夜回我的帖子,很多东西我都是自己google出来的,对于js我基本是一片空白。
fiag,你害我的脚本失效了................难得我有表现的机会...................真残忍。
上次在版务区提出,你回复了,却不改,现在你却跑来毁了我一个小通宵的努力
关于本论坛,不知道各位还需要哪方面的修改?我会尽力的。
#4: 作者: fiag, 来自: 京 时间: 2008-6-09 周一, 04:40
—
Xorcerer 写道: |
太开心了,居然有人深夜回我的帖子,很多东西我都是自己google出来的,对于js我基本是一片空白。 fiag,你害我的脚本失效了................难得我有表现的机会...................真残忍。 上次在版务区提出,你回复了,却不改,现在你却跑来毁了我一个小通宵的努力 关于本论坛,不知道各位还需要哪方面的修改?我会尽力的。 |
上次不知道什么事情给耽搁了,然后就忘记了。 sorry。。。
#5: 作者: fiag, 来自: 京 时间: 2008-6-09 周一, 04:43
—
回答楼主的问题:
document.getElementsByTagName("title")[0].innerHTML
getElementsByTagName 就是取得 HTML 代码中所有的 <title> 标签的信息,返回的是一个数组。
一般情况下 HTML 只有一个 <title>标签(除非写错了,肯定通不过W3C校验),当然这个数组的第一个元素 [0] 里面的文本就是 这个页面的标题。
HTML 规范中 <head> 标签里面的 <title> 就是这个页面的标题。
欢迎交流! :D
#6: 作者: Xorcerer, 时间: 2008-6-09 周一, 11:58
—
fiag 写道: |
回答楼主的问题: document.getElementsByTagName("title")[0].innerHTML getElementsByTagName 就是取得 HTML 代码中所有的 <title> 标签的信息,返回的是一个数组。 一般情况下 HTML 只有一个 <title>标签(除非写错了,肯定通不过W3C校验),当然这个数组的第一个元素 [0] 里面的文本就是 这个页面的标题。 HTML 规范中 <head> 标签里面的 <title> 就是这个页面的标题。 欢迎交流! :D |
谢谢,那么为什么我只能读取却无法设置title呢?通过getElementByTag那句?
#7: 作者: fiag, 来自: 京 时间: 2008-6-09 周一, 13:13
—
其实你设置成功了,可以通过DOM查看器看<title>标签内容确实变了。
但是FF不会再去看这个<title>标签,她只认了 document.title。