标签 javascript 下的文章

中广核校园招聘(补招)[能力测验部分]答案

发表于 WebBuild

早两天老师发个通知下来,是中国广东核电集团补招的消息,然后要去广核网站上填写简历,有几个同学去了,说网站要答题,是智力测试的那种,-_-!。然后我刚才去看了下,基于“职业”敏感,打开页面先直接Ctrl+U,然后发现:乖乖~嘻嘻

首先,基于为Firefox讨个公道的原因,批评一下网站验证码部分的设计。页面网址(http://www.cgnpc.com.cn:8002/hrrs/Campus/CampusMain.html

function showAuthCode(e,whichone){
        if (whichone.style.visibility == "hidden"){
            whichone.zIndex++;
            whichone.style.left=document.body.scrollLeft+event.clientX-event.offsetX-3;
            whichone.style.top=document.body.scrollTop+event.clientY-event.offsetY+21;
            whichone.style.visibility="visible";
        }else{
            whichone.style.visibility="hidden";
        }
}

上面是验证码输入框onfocus()的js代码,你说你个验证码到底是给eval robots看的还是给human看的?!

Firefox用户同僚可以直接输入http://www.cgnpc.com.cn:8002/hrrs/imageCode这个网址将得到的验证码填上就可以了。

然后登录,通过对我的鄙视(第一个页面那里我都需要选择“否”)之后就进入了能力测试部分,题目就是汪涵主持的那个什么什么英雄的那个答题节目差不多的题。我就不多说了,直接教大家答题:查看源代码,通过几个frame,再查看源代码(这页的http://hr-exam.cgnpc.com.cn/User/AbilityDo.aspx),你会发现下面的源码(我精简了只留下核心部分):
第3题:0, 2, 6, 12, 20, ( )

<input type="radio" value="0" />A.28
<input type="radio" value="1" />B.30
<input type="radio" value="0" />C.40
<input type="radio" value="0" />D.48

我想稍微有点智商的朋友都知道选哪个了吧!然后再提醒一下用Firefox的朋友,这里提交的时候在IE下会有验证,如果题没有答完会弹出警告框来提示并阻止提交的,然是Firefox下不会提示而直接给你提交,并且不管答题是多久时间都是0。

我以前没有看到过一个程序这样的依赖前端脚本(并且是非标准脚本)来判断和处理敏感数据,并且还是用在大型的公司上(据该程序的官方网站上注明,广东移动也是用的这套系统)

点击下面的连接打开我整理的答案

- 阅读剩余部分 -

将twitter添加到XHTML页面

发表于 WebBuild

因为twitter在国内的访问速度实在太慢,之前一直都没有将它放到博客。但是我的博客很久不更新,现在终于还是决定将twitter放上来,写twitter还是比较容易的。
没有去研究Twitter的API,因为它本身提供了添加到博客的widget,就直接用了。个人推荐用js版本的,因为可以通过CSS来改变输出样式。并且需要将后面的两个js链接放到网页<body>标签的最后(有统计代码的可以放统计代码之前,尤其用google统计的,如本博客),因为前面说了国内访问twitter那个慢啊...

但是,通过此方法添加在XHTML页面会出现不能通过W3C的验证,提示ul标签内需要至少一个li标签。

要解决这个问题,我们可以手动添加一个li标签,如本博客所表现的,并且在内容正式载入中用wait类语句代替也比较实用,等页面加载到页尾则调用twitter的js输出正式的内容,因为blogger.js通过innerHTML方法重写ul里的内容,所以之前的wait信息会自动替换调。

p.s:在上面的情况下如果twitter出现不能访问的情况(e.g:万恶的GFW),则wait信息会一直存在,可以通过在调用的两条js后面用js输出一个样式将wait信息的display设置为none,当然需要将此wait信息赋id或者class。

还有另外一种方法可以通过XHTML验证,那那就用js输出,如:

<div id="twitter_div">

<script type="text/javascript">
<!--//-->< ![CDATA[//><!--
document.write("

<ul id='twitter_update_list'>");
//-->< !]]>
</script>

完美调用新浪新闻的简单方法

发表于 WebBuild

早段时间叫我同学帮忙看看南华校友网,看看大家需要些什么样的功能,有个朋友说应该加个新闻的功能。

我当时就准备做个rss聚合来获取新浪搜狐的新闻的,后面就去找新浪新闻的RSS地址,然后无意找到新浪还有这个:http://rss.sina.com.cn/my_sina_web_rss_news.html?url=news/marquee/ddt.xml 可以直接调用新浪的新闻的,所以就放弃了再去写个RSS聚合了,呵呵。

然后马上就布置到南华校友网,因为我一直都是使用的Firefox ,测试也一开始是在Firefox上测试的,一切很好。然后是opera,也很好。最后IE,啪,不行了!老是弹出一个警告框提示页面无法打开,我当时就郁闷,一时也不知道是怎么回事。

我开始以为是我的IE出现了问题(因为基本上只有测试网页兼容和上工行支付宝才会用到IE),因为太久没用它,它给我闹脾气,然后在同学的IE上打开看,也是一样的问题。

于是就打开新浪提供的js地址看,看到在182有这样一句:

document.body.insertBefore(&nbsp;js,&nbsp;null);

而这里在我的网页上,UCH页面我调用了头尾模板,所以在新浪新闻调用之后及</body>标签之前还有内容需要载入的,此时</body>也没有载入,所以上面的代码才会在IE下出现错误。一种解决方法是可以判断页面载入完成了之后在执行这个操作,也可以将上面的语句改成类似:

document.getElementById("n_news").appendChild(js);

n_news是放js调用代码的div容器的id,这样就可以使页面内部数据照代码的顺序执行。

新闻调用的演示页面:http://www.nanhuau.com/news.php

还有,大家可以在调用的时候296行的:

code>document.getElementById(rss_news_sina_div).style.height = rss_news_sina_hight;code>

注释掉,因为这样才能自适用高度,至于宽度希望大家还是指定下,至于使用原新浪的方式还是自己的CSS那就看自己的喜好了,呵呵。

如果不想实用新浪指定的那些样式,可以将SinaRSSWriteCSS这整个函数去掉就可以了

然后将这个js文件保存上传到你的空间上,引用的时候替换新浪的路径到你的路径就可以了。

付:UCHome新闻速递插件下载(随便写的,功能比较简单,除上面说的调用新浪的新闻外,另加了百度的关键词新闻),演示地址在上面写出了,有需要的朋友就下着用吧
下载地址:http://www.iveshuo.cn/d/uchome_news_plug.7z