2011-11
28

死得瞑目了

By xrspook @ 18:04:20 归类于:烂日记

昨天晚上收到Lei的这些回复,彻底死心了……

Lei
告诉你一个处理方法,将最外围的a标签干掉,换成div什么的,让DOM结构正常化。然后在外层的div上绑click事件,阻止浏览器本身的事件,然后用JS将页面跳转到想要的页面。
19小时前

Lei
看到DEMO终于知道怎么回事了。因为你的a标签里面还嵌套着a标签,这用法本身就是错的(看来画廊模板真的很烂),所以浏览器解析出来的DOM结构就是错的。用JS去A标签,也是在错误的DOM树上修改,就不可能正常了。
19小时前

原来我的瞎想一开始就是错的,难怪……所以虽然我已经很努力了,但还是没有实现我的目标,因为我的方向根本就是错的。昨晚看了两个把“span”利用JavaScript当“a”用的例子(例子1例子2),结果发现纯文字链接没问题,加上非文字部分就歇菜了。估计是某些判断句所设定的非空与不是常规字符串有空格回车什么的东西产生矛盾。对JS可算是一窍不通,看来这回,我真的很有理由认真地学学JS了。

HTML、CSS、JavaScript、jQuery浏览器端的神兵利器,外加服务器端的PHP和SQL,哇咔咔。如果当初我读的是网络工程神马的,估计会很神奇,不过如果我的专业真是那个我就不会花那么时间激情澎湃地像现在这样去学习了。

今天没搞懂是怎么回事,库里有一帮人在拍片子,整个下午就耗在当群众演员上,外加早上一回来就说开神马会,结果,一天就这么被浪费掉了,多可惜啊~~~

明天是Raw,是Alberto Del Rio vs. CM Punk的WWEC rematch,对结果,我不存在丝毫的幻想,我只希望他们能给出一场精彩的比赛,足矣。可以没有头衔,但不可以没有血性,哪怕当个跑龙套的jobber!

不知道推迟了1个多月的演讲明晚会不会举行,真讨厌!

2011-11
27

REALEZA不成TEA EXPO去

By xrspook @ 22:06:12 归类于:烂日记

我真的已经很用力地去想解决“a div a”这个三角恋问题了!不过,还是没想出对策,哭~~~

这“a div a”三角恋是这样的:第一个“a”嵌套着第二个“div”,第二个“div”嵌套着第三个“a”,理论上,第二个“div”肯定被第一个“a”包含,但如果“div”里含有第三层的“a”,那么“div”就会自动脱离第一个“a”的嵌套,第一个“a”和第二个“div”变成同级关系。这会导致什么结果呢?第一层“a”和第三层“a”同时存在!但我的目标是当鼠标滑过div这个片区时只有一种链接即只有第一个“a”起作用,第三层“a”必须的只保留纯文本或者干脆拜拜。

没看懂我上面话的可以直接看源文件:HTML + CSS

这貌似很简单,但我至今没找到对策,尤其是适合各种主流浏览器的(Chrome,Firefox,IE8等)方法。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
// SH想出了这个
 
jQuery(".postmetadata1").each( function() {
	jQuery(this).html(jQuery(this).html().replace(/<a [^>]*>|< \/a>/gi,""));
});
 
// 我折腾出了这个
 
jQuery(".postmetadata1 a").each( function() {
	$(this).replaceWith($(this).html());
});
 
// 点点的Lei给出了这个
 
$(".postmetadata1").each(function() {
	var str = jQuery(this).html(),
	code = str.replace(/</a><a [^>]*>|< \/a>/gi,"");
	console.log(str);
	console.log(code);
	$(this).html(code);
	console.log($(this).html());
});
</a>

在Firebug看,这三种方法都能把第三层a干掉,不过,三个方法都会把第一层“a”和第二层“div”变成同级,即第一层“a”失效,无法做到当鼠标移过第二层“div”片区的时候出现正确链接。三种方法在Chrome和Firefox下片区链接都浮云了,展示效果一样。SH的方法在IE8下可以实现我的目标功能;我的方法在IE8下显示诡异,第二层“div”片区有第一层“a”的导航但无法打开链接;Lei的方法在IE8下会显示怪异,第二层“div”片区有第一层“a”的导航但无法打开链接,也有第三层“a”的导航且可以打开。各种怪异,各种神奇!!!!为什么用点点的“description|nohtml”就能轻易除去内容里的各种HTML标记,要在浏览器层面单纯干掉这般嵌套的“a”却这么难呢????

期望高人想出解决问题的JavaScript(可以包含jQuery)!

昨晚在电脑前抓了几个小时的头,凌晨1点+才睡觉,今天在早上继续抓了1个多小时,未果,不能再纠结了,我答应了妈要陪她去茶博会的,茶博会今天是最后一天。于是,大概在中午1点,我暂时放下包袱,出门口了。

茶博会么,有茶的,也有咖啡的。今天我花掉了95元,20元的入场费(10元/人),10元的espresso体验(5元/杯,250mL),15元的2罐玄米茶叶,50元1套的250g纯咖啡粉越南滤杯套装送了5条同一牌子的三合一咖啡。妈花了10元买胎菊。最让我兴奋的收获该数各种咖啡的试喝。第一次喝espresso呢!漂亮是有了,但我觉得有点怪怪的,味道有点淡,5元250mL我就不奢求什么了。虹吸式咖啡壶煮出来的波多黎各咖啡,这种波多黎各咖啡酸味挺弱,基本没有,苦味中偏强,苦后会甘。喝了不知道是不是猫屎咖啡的猫屎咖啡,酸味和苦味都要比波多黎各的重,味道也更活泼延绵,苦后甘,但感觉跟我平时喝的不太一样,我不是很喜欢。最痛苦的要数某个意大利咖啡,估计那是要弄espresso的,但没有奶没有发泡,所以,杯具啊~~~ 不酸、苦得很彻底,是我喝过所有咖啡中最苦的!苦完以后还不甘,内牛满面,不习惯咖啡的小盆友别自残试这个,即便30mL都会让你抓狂死…… 现在我仍无睡意,今晚或许要看着蚊帐顶发呆了。可能是我来得不是时候吧,这个咖啡展区已经有很多单位撤场了,而且随着时间的推移,各个商家都在打包降价促销想赶快走人,这有好有不好。

我可以明确地说,我对茶叶没什么爱的,对茶具也没什么爱的。

茶博会出来,本来想去员村的知名外国超市麦德龙见识一下,但那个鬼地方需要会员卡,我那个去!为啥不在门口写?!保安站在入口查会员卡,我分明的木有。这让我想起了很久很久以前机场路附近的万客隆,也就是现在的易初莲花,也是要会员卡,大概是10年+以前的事了,但那时万客隆就已经不免费提供塑料袋,但入场人流依旧变态,那是我第一次见识什么叫做Supermarket!后来,好又多遍地开花了,家乐福来了,吉之岛越来越多了,华润万家、百佳雨后春笋,超市成了普通事物,但第一次的万客隆经历还是很惊艳。今天在麦德龙吃到了闭门羹,很不爽,但总有一次,我会去那里见识的!

下午5点多回到家,继续纠结我的“a div a”三角恋,依旧未果,呜呜呜~~~

2011-07
7

抓头 – 嵌套div的正则提取

By xrspook @ 17:50:04 归类于:烂日记

很傻很天真的以为用正则可以轻易提取出div里的层层嵌套div,结果囧得厉害。div的开头通常都带有class或id,唯一,且容易辨认,但div的结尾,清一色的“/div”,真会搞死人。网络上流传的提取div版本貌似都不太可行。在一坨里提取一堆只是第一步,第二部还得把提取到的内容xml数组化。

其实呢,我也有想过一开始就对所有内容xml数组化,不过,信不信由你,从最开始那层<>到我要提取的那些内容少说也有15层,而且如果那些网页设计者好心加一层或减一层,我又得慢慢摸到底哪里出问题了。所以,用xml数组化是个思路,但“解剖”源数据的工作量不少且维护困难。毕竟,这不是5层,这是15层+啊!怨念那些穿那么多层衣服的网页。

正则难提取嵌套div,xml太郁闷,咋办呢?

我还有一个很天真的办法,手动选取要提取部分的代码然后贴到程序里提取。这么一来就解决了难提取困难的问题,当然啦,都手动干了,还有什么难不难的,这个办法很低级,但一定可行。

怎么办呢,怎么办呢?!

应该是我想得还不够深入,再花点时间动动脑筋好好琢磨琢磨吧。

今天很坏地想到用正则提取,table输出,然后直接Excel粘贴保存,早上还在兴奋这个伟大思路,下午就发现正则把我卡死,生活真是个悲喜剧。

别囧,我有的是时间,一定可以的!

2011-03
6

囧IE

By xrspook @ 20:57:13 归类于:烂日记

终于做完了一个table转div的改造,太折磨人了!除了要考虑如果使用div实现table的效果与功能外,还得面对成功通过Google Chrome,Opera以及Firefox测试,但在IE内核却会出现囧效果的悲情时刻。对我来说,使用div不难,但在使用了N多的margin、padding、border后仍能使网页在IE下正常,对我来说那是最最难的。偏偏,国内的大家还依赖于IE浏览器,而且还是IE6占主导。所以,无论我多IN,无论我学会了多少新规则并使用都是徒劳。table转div后,除了信息量增加了以外,文件大小还减少了20%。从维护角度,div更简单,但偏偏,table不会引起IE问题,但div容易。

心力交瘁无奈状。

困了,又困了。

今晚应该能看上几场Finlay的比赛,我欠别人很久了。

生活本不复杂,但这样那样的人为限制越来越多,于是我们就经常碰壁了。怀念那些Google Docs的日子,怀念那些imageshack的日子,更怀恋那些U2的日子,但怀念神马的都是浮云。

IE,一种让人绝望的浏览器!

2010-02
4

转换成功

By xrspook @ 18:30:35 归类于:烂日记

成功地原来基于table的网页转为基于div+css的,不是一般的兴奋啊!把14.8KB的网页刷地减肥成4.6KB,把杂乱的框架理顺为明了的层次。最后,在万恶的帮助下,解决了div的怪现象。叙述一下经过吧、

首先,我网页的一部分是这么设置的(问题简化版):

<html>
<head>
<title>test</title>
<style>
<!–
body { background-color:#000000;}
#main { background-color:#00ff00; width:755px; margin:0 auto;}
#left {background-color:#ff0000; width:200px; height:200px; float:left;}
#right {background-color:#0000ff; width:555px; height:600px; float:right;}
–>
</style>
</head>
<body>
<div id=”main”>
<div id=”left”></div>
<div id=”right”></div>
</div>
</body>
</html>

得出的结果如左图:

从上面的css可以看出,我是希望#main里面是#00ff00(绿色)的,也就是红色的下面应该是绿色,但显然,FF得不出,Opera得不出,Google Chrome也得不出,只有丑陋的IE实现了那个效果。为什么呢?Firebug指出,在上面的设置之下#main的高度为“0”,肯定得不出绿色!为什么呢?万恶说,那是css的浮动性导致的,因为我#main下有2个div,两个div都设置为浮动,浮动的元素是被撇除在外的,所以我们觉得#main里有东西,实际上却不认。万恶给我出个非常简单但有效的方案——在<div id=”right”></div>后面#main结束之前加上一句<div class=”clear”></div>(css里添.clear { clear:both;}),问题解决了!clear是干嘛的?清除浮动元素的!在两个浮动元素之后加个这么个空载div保证了#main里面有东西,又因为clear的设置是both,左右都不能有浮动元素,所以它肯定位于所有浮动元素的后面,把#main“撑”了出来。应该可以这么解释吧。现在才恍然大悟为什么BlogBus很多模板后面都有那么句空载的div,原来是这般用的。成功范例见右图。

我一直理所当然地认为在div里嵌div就能把外面的撑大,理论上是这样,但如果里面的div设置为float那就另当别论。真是郁闷到极点。又死在细节上,自学的东西不系统结果就会经常碰到抓破脑袋都搞不懂的情况。

除了这个难点以外,还有一个导航栏的问题,但经过我的瞎弄后,马虎成功了。

哇咔咔,鼓掌庆祝一下!

Page 1 of 212»
COPYRIGHT @ 我的天 | Theme by xrspook | Power by WordPress | Valid XHTML 1.1 and CSS 3 Go to top