查看文章 |
我的目的是处理一段自定义的标签; 如下 <div id="newsColumns" type="columns" parentId="0" runat="song"> 上面的[@Nc_Name]之类,是自定义的属性标签,我用javascript获取这些标签,然后用ajax去请求webservice,将取到的结果替换成实标的文本,显示到页面上。 这个想法很好,也没有什么技术障碍,很快就实现了。包括标签之间的简单运算(即标签表达式)。如上面的 意思是如果Nc_IsOut为true(即为外部链接时),返回Nc_OutUrl(即外部的超链接地址),否则显示本地文件,并传递id过去。 在IE下测试完全正确,Google浏览器下也完全正确,但是在FireFox下有问题,无法解决标签表达式;我想也不是大问题,因为正则表达式本来在各浏览器兼容性有些问题,修正一下就行了。 检测自己的代码,创建正则时,一向是var regExpr=new RegExp(/\{%=(.[^\}]*)%\}/gi);之类的,这样创建是不会有兼容性问题的。我郁闷了。 在做了无数次测试后,终于发现………… 超链接属性herf后面的代码,被Firefox自动处理成了url编码,而ie与google浏览器都不会这样做;找到原因就好解决了,unescape(str)预处理一下,就OK了。 我汗,一个小问题,白白浪费我近两个小时的时间,写个备忘,以免再犯。 |