IE 插件 Trixie 介绍

最近因某些原因研究起DHTML来了,自然而然地又研究了一下JavaScript/JScript,再后来在某次搜索中找到了Trixie这个浏览器插件(用于IE)。

在FireFox下也有相应的插件:Greasemonkey,至于对这两者的介绍,大家可参考此文:http://www.williamlong.info/archives/252.html

它们的主要用途是利用脚本(JavaScript)来修改浏览器访问的页面代码,以达到改变页面的显示内容的目的。我一开始只是想替换/删除网页内容(比如说把某些烦人的广告给去掉),后来发现它的功能可不仅仅于此,简直就可以“为所欲为”!当然前提条件是要用户自己动动手写点代码才行。

下面以替换百度首页的logo为例介绍一下Trixie的用法:

1、当然是先下载软件并安装了,网站地址在文章最后面。
2、假设你把Trixie安装到D:Trixie,则先打开D:TrixieScripts,你会看到一堆js文件,它们就是机关所在了。用你喜欢的文本编辑器随意查看一下这些文件,你会发现它们都是有一定格式的。
3、打开IE,确定在“工具”菜单下有一个“Trixie Option”选项,打开后将出现如下图所示窗口。
image 

4、访问此页面进行经典的HelloWorld式学习:http://diveintogreasemonkey.org/toc/
看到这个地址是不是有点奇怪?别奇怪,Trixie本来就是因Greasemonkey的出现而出现的。它们使用同样的格式也不足为奇,因此可以说它们的脚本都是通用的。
一个典型的脚本是下面这个样子的:
// ==UserScript== 
// @name          Hello World 
// @namespace     http://diveintogreasemonkey.org/download/ 
// @description   example script to alert "Hello world!" on every page 
// @include       * 
// @exclude       http://diveintogreasemonkey.org/* 
// @exclude       http://www.diveintogreasemonkey.org/* 
// ==/UserScript== 
 
alert('Hello world!');

“//”右边的自然都是注释了,但这里的注释可不是完全没用的注释哦,恰恰相反的是,上面这种注释是必须指定的,而且格式必须完全相同。
在一对“UserScript”之间有五个部分,称为“metadata”,它们的出现顺序并没有严格的规定,而且大多是可选的。
@name:脚本的名字
@namespace:脚本的名字空间,用于区分其它同名脚本
@description:脚本功能描述等
@include:脚本的作用域
@exclude:脚本的非作用域

最后一行语句则是弹出对话框。

下面就说说怎么替换百度首页上的logo吧。打开Trixie的安装目录下的Scripts文件夹,如D:TrixieScripts,新建一个js文件,输入如下代码:
// ==UserScript==
// @name          BaiduLogoReplace
// @namespace     http://yonken.blogcn.com
// @description   Just 4 demo
// @include       http://www.baidu.com/
// ==/UserScript==

var oImgObjs = document.getElementsByTagName("img");
var oReplaceText = document.createTextNode("Banned Obj");

for(var i = 0; i < oImgObjs.length; i++){
    if(oImgObjs[i].src == "http://www.baidu.com/img/logo.gif")
        oImgObjs[i].parentNode.replaceChild(oReplaceText, oImgObjs[i]); 
}

保存后在前面的提到的“Trixie Option”中检查一下是否已启用了此脚本。打开IE,访问www.baidu.com,结果如下:

image 
当然了,你也可以按自己的方式来编写完全不同的脚本,比如说上面的for循环就可以去掉,直接换成这句即可:
oImgObjs[0].parentNode.replaceChild(oReplaceText, oImgObjs[0]); 

既然Trixie能替换一个img,自然也能实现自动登陆等任务了,如果不太了解DHTML,可以访问此页面参考一下:
http://www.phpx.com/man/dhtmlcn/

Trixie的官方页面:http://www.bhelpuri.net/Trixie/
GreaseMonkey的:http://greasemonkey.mozdev.org/

原文地址:https://www.cnblogs.com/liuhaitao/p/2317170.html