菊花文和边框文实现原理 [Javascript]

post by 朦朧中的罪惡 / 2010-4-13 12:12 Tuesday

最近网上开始流行神奇的菊花文和边框文,比原来的火星文更容易读取也更容易突破关键词防御系统

菊花文表现形式为:朦҉胧҉中҉的҉罪҉恶҉ 

边框文表现形式为:[̲̅朦̲̅胧̲̅中̲̅的̲̅罪̲̅恶̲̅]

刚开始很诧异这个玩意是怎么弄出来的,跑去看了一下转换器的源码才明白了原理:

原理其实很简单,只是将标准的文字中参入了一些特殊字符而已

比如说原文为 朦胧中的罪恶,转换后实际的内容是 朦{字符}胧{字符}中{字符}的{字符}罪{字符}恶

由于符号比较特殊,没有盖住前后的字体,才造成了这种假象

菊花文的符号是   ҉ ҉     ASCII unicode码为 1161

边框的符号是    ̲̅  ASCII unicode 码为773和 818

按照这个原理,我们可以找出更多的神奇符号来作出神奇的文字,这里有unicode字符表

最后不得不佩服一下中国人的智慧,呵呵

下面是边框文和菊花文的转换代码,语言为JavaScript

点击查看原图

标签: JavaScript 原创

JavaScript在不同浏览器下取得鼠标绝对位置函数 [Javascript]

post by 朦朧中的罪惡 / 2010-3-3 14:32 Wednesday

首先不同浏览器中event位置属性的分析:

1. IE的event.x,event.y是以事件触发元素的父元素外界为参考点(不包括滚动距离)
2. Firefox的event.pageX,event.pageY是以body元素为参考点(包括滚动距离)
3. event.clientX,event.clientY以浏览器左上角为参考点(不包括滚动距离)
4. IE的event.offsetX,event.offsetY和Firefox的event.layerX,event.layerY以事件触发元素内界的左上角为参考点(包括滚动距离,当有边框时,可能出现负数)

然后是DOM对象高度属性分析

1. scrollHeight: 获取对象的滚动高度
2. scrollLeft:设置或获取位于对象左边界和窗口中目前可见内容的最左端之间的距离
3. scrollTop:设置或获取位于对象最顶端和窗口中可见内容的最顶端之间的距离
4. scrollWidth:获取对象的滚动宽度
5. offsetHeight:获取对象相对于版面或由父坐标 offsetParent 属性指定的父坐标的高度
6. offsetLeft:获取对象相对于版面或由 offsetParent 属性指定的父坐标的计算左侧位置
7. offsetTop:获取对象相对于版面或由 offsetTop 属性指定的父坐标的计算顶端位置

有了以上分析,写出两个取位置的函数

// 取X轴位置
function mouseX(evt) {
    // firefox
    if (evt.pageX) return evt.pageX;
    // IE
    else if (evt.clientX)
        return evt.clientX + (document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft);
    else return null;
}
// 取Y轴位置
function mouseY(evt) {
    // firefox
    if (evt.pageY) return evt.pageY;
    // IE
    else if (evt.clientY)
        return evt.clientY + (document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop);
    else return null;
}

标签: JavaScript