Tag Archives: 脚本

IE Javascript 脚本失效解决办法

IE 浏览器的脚本失效是个源远流长的问题了,有时撞上了那也只能归结于缘分,完全没得解释。这次本人就是中大彩的缘分,被小小地撞了一下腰。

当然脚本失效也有轻重,有时是页面全部烂晒,图片文字全部显示错位,惨不忍睹,其实坏的这么彻底反倒容易发现问题,也容易解决。最怕就是那种大问题没有小问题不断的情况,像我,基本的脚本效果都支持,就是用到调用 window.opener 的函数方法时报错:类不能支持 Automation 操作。这么具体的出错信息在 Baidu/Google 也找不到什么有用信息,可谓万念俱灰。

严格来说已经很难说是 IE 的错,但按照经验通常你对 IE 进行折腾,例如 IE6 升到 IE7/IE8,或重装,不同程度的第三方软件的修复,一般都不能解决问题。如果一定需要一个理由,应该是在某年某日中了某个木马升级了某个补丁或者卸载某个软件,而导致某个组件某个动态扩展被反注册掉而无法支持某种效果……

说到这里,要说说 regsvr32 命令,是一个注册 DLL 动态扩展库的命令行工具。方法:在“运行”里面输入regsvr32 dllname,回车即可。 Continue reading

Javascript 技巧大全

Event 事件

事件源对象
event.srcElement.tagName
event.srcElement.type
捕获释放
event.srcElement.setCapture();
event.srcElement.releaseCapture();
事件按键
event.keyCode
event.shiftKey
event.altKey
event.ctrlKey
事件返回值
event.returnValue
鼠标位置
event.x
event.y

document 对象

窗体活动元素
document.activeElement
绑定事件
document.captureEvents(Event.KEYDOWN);
访问窗体元素
document.all(“txt”).focus();
document.all(“txt”).select();
窗体命令
document.execCommand
窗体COOKIE
document.cookie
菜单事件
document.oncontextmenu
创建元素
document.createElement(“SPAN”);
根据鼠标获得元素
document.elementFromPoint(event.x,event.y).tagName==”TD”
document.elementFromPoint(event.x,event.y).appendChild(ms)
窗体图片
document.images[索引]
窗体事件绑定
document.onmousedown=scrollwindow;
元素
document.窗体.elements[索引]
对象绑定事件
document.all.xxx.detachEvent(‘onclick’,a);
HTML标签
document.documentElement.innerHTML
第一个style标签
document.styleSheets[0]
style标签里的第一个样式
document.styleSheets[0].rules[0]
获取选中内容
document.selection.createRange().duplicate().text Continue reading

论坛个人另类心得

通用账号

先说说这个实用性超强的。我的口号是:未必一定有,但一般都会有。为什么这么说?叫它“潜规则”再恰当不过了吧。因为有的论坛设置了客人无浏览权限或楼主设置了回复贴,那这招你就可以试一试这个通用账号了:账号:aaaaaa;密码:aaaaaa。

注意:这是抛砖引玉而已,也有可能是 111111 或 123456 或 bbbbbb 或 abcdef,但一般“六个A”可能性是最大的。另外这招用在那些账号多(一时之用)而乱(不真实)的论坛最好,比如某些色情论坛,我就是用这个账号浏览了许多本不该浏览的东西,哈哈。

备注:本着人人为我,我为人人的宗旨——就算没有,我们也可以让它有的。我有时在想像,如果这世界人人都可以为他人着想一点的话,不知道人人会活的多好啊,嘿嘿。

忘记密码

继上,如果你发现通用账号“6A6A”登陆不了,你以为没人注册想新注册一个,结果发现账号已存在。那你就可试试这招:进入“忘记密码”,在“密码问题”和“问题答案”那里都输入“6A”(和账号同),然后你就可以顺利地重设新密码了。这是利用人的意识薄弱和贪图方便,所以一般这招用在有规则性的账号身上,基本就是百发百中的了。我就是用这个方法得以在一个技术网站浏览文章的,哈。

一模一样的账号

既然说到账号,就顺便说说这个:我不知你是否有时会看到一些“一模一样”的马甲。比如,斑竹ID为“我是斑竹”,等下有个ID就叫“我是斑竹 ”(呵,我这里写出差别了,但在论坛里是看不出后面多出这个“全角空格”的)。这一般是一些略懂技术的人恶搞的,利用这个无法过滤的非空中文字符来给观众造成混淆……要看出来也不难,选取他的ID,就可以看到后面的空格了。当然,如果你喜欢,你现在也知道如何开些这样的玩笑了,呵呵。

无法过滤的粗口

这也是实用性超强的一招。利用过滤的原理:比如“他妈的”这三字会被自动过滤为“***”,那我们就不构造成这样啊。你可以这样:先输入这个粗口,然后选取中间那个“妈”字,设置字体前景色成“黑色(注意要跟论坛主题样式搭配)”,这样视觉上是看不出任何区别的,而你发泄的效果也不会打折扣,因为这时的代码是“他[color=#000000]妈[/color]的”或“他<font color="#000000">妈</font>的”。当然,你也可以修改为类似“<b>他</b><b>妈</b><b>的</b>”,反正就是利用HTML/UBB将“他妈的”三字分拆开从而逃过被过滤的命运。

如果粗口只有一字,如“叼”,那就比较麻烦了。可分解为“口刁”,也可用这无敌的一招:制作成图片,当然就比较麻烦了。我就曾用这图片粗口法骂过一管理员,当时被人说疯了,但自己觉得很解恨很爽,哈哈(其实当时也是抱着技术探讨的角度看看效果而已——这样伟大的行为其实都可纳为“行为艺术”了)。

隐藏背景音乐

提到艺术,说说这个(这招非原创)。我第一次碰到一个看起来很干净的页面,但一打开就有音乐响起,而且自己无法掌控,也不是论坛默认的那种背景音乐,那感觉郁闷的就像被人偷窥。最后查看源码才知道有人用“[mp=0,0,1]music_url[/mp]”了,遂感叹:劳动人民智慧无穷境啊!那是一个长为零宽为零而自动播放的播放器啊。哈哈,那次被人狂用这招的是那首那时很火的“火星颂”,最后论坛管理员不得不禁用“自动播放”,哈哈。

嘿嘿,先说到这了。以后想到什么再补充了,其实我很少逛论坛,只是有上的时候多加研究了一下,我不知道有多少人懂得这些了。我说了也就是探讨一下而已,而不是纵容你去害人,以上技巧一般论坛都通用。声明:由此产生的任何纠纷与本人无关啊。嘿嘿(Afly)。

条件注释 Conditional Comments

Firefox 下的换行问题早已不是一两天的事了,不过终究可以用折衷办法解决:在定义 width 的情况下定义:overflow: hidden。IE 当然早有办法,就是用:word-wrap: break-word,问题是 CSS2 不认这个用法,导致 CSS 总是无法通过 CSS Validator。不过,经过一番折腾,现在这个问题也不成问题了——就是传说中的条件注释Conditional Comments)。

IE Box Model Hack

先说说这个好象是个非常之有名的 CSS Hack,其实对这个我无甚了解。因为在我开始了解 CSS 的几年前就不用 IE5.5- 了,而我也相信现在几乎没人用(除非你还用Win98,或者你还在对兼容性这个话题孜孜不倦)。据说用下面两种方法可以解决(当然,都需要声明正确的文档类型):

div.content {
width:400px;
voice-family: “\”}\””;
voice-family:inherit;
width:300px;
}

html>body .content {
width:300px;
}

div.content {
width:300px !important;
width /**/:400px;
}

html>body .content {
width:300px;
}

CSS Hack For IE

有些时候,你需要对IE浏览器的bug定义一些特别的规则,这里有太多的CSS技巧(hacks),我只使用其中的两种方法,不管微软在即将发布的 IE7 beta 版里是否更好的支持CSS,这两种方法都是最安全的。 Continue reading

SHTML 教程

什么是 SHTML

使用SSI(Server Side Include)的html文件扩展名,SSI(Server Side Include),通常称为“服务器端嵌入”或者叫“服务器端包含”,是一种类似于ASP的基于服务器的网页制作技术。

SSI工作原理:

将内容发送到浏览器之前,可以使用“服务器端包含 (SSI)”指令将文本、图形或应用程序信息包含到网页中。例如,可以使用 SSI 包含时间/日期戳、版权声明或供客户填写并返回的表单。对于在多个文件中重复出现的文本或图形,使用包含文件是一种简便的方法。将内容存入一个包含文件中即可,而不必将内容输入所有文件。通过一个非常简单的语句即可调用包含文件,此语句指示 Web 服务器将内容插入适当网页。而且,使用包含文件时,对内容的所有更改只需在一个地方就能完成。

因为包含 SSI 指令的文件要求特殊处理,所以必须为所有 SSI 文件赋予 SSI 文件扩展名。默认扩展名是 .stm、.shtm 和 .shtml。

Web 服务器在处理网页的同时处理 SSI 指令。当 Web 服务器遇到 SSI 指令时,直接将包含文件的内容插入 HTML 网页。如果“包含文件”中包含 SSI 指令,则同时插入此文件。除了用于包含文件的基本指令之外,还可以使用 SSI 指令插入文件的相关信息(如文件的大小)或者运行应用程序或 shell 命令。

网站维护常常碰到的一个问题是,网站的结构已经固定,却为了更新一点内容而不得不重做一大批网页。SSI提供了一种简单、有效的方法来解决这一问题,它将一个网站的基本结构放在几个简单的HTML文件中(模板),以后我们要做的只是将文本传到服务器,让程序按照模板自动生成网页,从而使管理大型网站变得容易。 Continue reading