关于As3的flash文件调用As2影片的一些问题

之前忘记记录了,用了这个方法后,单个机器只能打开一个这样的flash文件组,如果在另外一个浏览器(或窗口)弹出就会失效…

案例情况是存在3个swf文件

main.swf(as3)

mask.swf(as2)

reg.swf(as3)

main会导入mask和reg,并会对mask添加一个点击事件让reg弹出。

mask里面本身有部分互动。

问题:

在main调用mask后,发现所有mask里面所有含有事件的元件(包括没有事件的按钮元件)覆盖的范围,都没有main给mask注册的点击效果。但是如果用as3代码写就可以~

因为以后可能有很多这样的东西,所以转as2为as3不够现实,只能想其他办法来解决。

最终方案:

让As2回调As3的函数,实现reg的弹出效果。

具体代码(供参考):

main.swf里面加上如下代码
var localConnection:LocalConnection;
localConnection = new LocalConnection();
localConnection.client = this;//创建本地连接
localConnection.connect("AS3Connection");//参数是接口,根据需要起名字

function As3Action(){
    //as2里面要调用的函数和内容
}

mask.swf所有含有事件的元件(包括没有事件的按钮元件)增加点击事件,并包含如下代码:

var localConnection:LocalConnection = new LocalConnection();
localConnection.connect("AS2Connection");
localConnection.send("AS3Connection","As3Action");

就可以实现main里面需要做的动作了~

让IE也支持圆角

转载自:http://cll.socss.cn/archives/259

css3的圆角属性,能为开发者提高开发的效率。可惜主流的ie6 7 8并不支持该属性。下面介绍一种让ie也支持圆角的方法。

1.首先要下载一个压缩包,里面有一个微软的脚本文件(11KB),里面是IE利用VML矢量可标记语言作为画笔绘出圆角。

下载地址:http://cll.socss.cn/wp-content/uploads/2011/07/iecss3.zip

使用方法:

.main{

border: 2px solid #C0C0C0;

-moz-border-radius: 10px;

-webkit-border-radius: 10px;

border-radius: 10px;

position:relative;

z-index:2;

behavior: url(此处为ie-css3.htc文件的绝对路径);

Webkit内核的浏览器支持“-webkit-border-radius:  10px;”属性(10px是圆角半径),可以直接解析出圆角;Firefox浏览器支持“-moz-border-radius:  10px;”属性,也是可以直接解析出圆角;IE系浏览器则需要加上“border-radius: 10px;”的属性。

 

需要注意以下几点:

1、behavior的url里一定要填写ie-css3.htc的绝对路径,因为  IE浏览器找该文件是相对当前html文件路径来找的。

2、一定要有定位属性:position:relative;

3、因为在IE浏览器下这些css3效果的实现是要借助于VML,由VML绘制圆角或是投影效果,所以还需要一个z-index属性。z-index属性最好设置得比较大,如2。

4、如果在IE浏览器下某些模块无法用此渲染,可以试着绝对定位相应的层,即加上“ width: 400px; height:400px;”属性。

ps:因为该方法使用脚本来实现的,实际应用过程中可能会出现很多意想不到的问题,所以在正式商业项目中还是慎用的好。

 

我的使用经验:这个外部文件实际上就是一套js,会根据你的使用情况往页面上加一些代码来辅助实现你需要的效果。

这些代码主要是一个层,有行内样式,是根据你圆角对象相对屏幕的定位而产生的,那么就出现个问题~

如果你的对象的父级有position属性,但是又不在页面原点(0,0),就会产生错位问题,这个要注意一下。

当然你也可以自己去修改ie-css3.htc这个文件里面的js来达到你想要的效果。

 

js去掉字符串中的空格和每四个字符加一个空格

今天做个充值框,卡号一栏的需求是。

每四个要加个空格。主要是为了让用户方便辨认自己是否输入有误。

<input type=”text” class=”ui-inputText fl ui-cardnum-show” value=”” /><!–这个负责显示–>
<input type=”hidden” class=”ui-cardnum-hide” value=”” /><!–用这个传值–>

 

$(“.ui-cardnum-show”).focus(function(){
$(this).keyup(function(){
var num=$(this).val();
num=num.replace(/s+/g,””);//将输入的内容去掉空格传入ui-cardnum-hide
$(this).next().val(num);
num=num.replace(/(.{4})/g,”$1 “);//将ui-cardnum-hide得到的内容每4个字符插入一个空格传回去
$(this).val(num);
});
})

 

关于织梦CMS的infolink.lib.php和联动的一些浅见

今天用dede试做一个文章列表的联动功能,发现这东西还挺纠结。

1.默认的貌似是写死的,想改变什么都要改代码。

2.默认的是二级的,可是我只要一级。

3.要改的文件还不止一个。

说到底这个东西最后要改的是一个叫infolink的这个标签,你可以找到infolink.lib.php这个文件,通过对这个文件的修改,可以的达到你的目的。

基本操作我就不说了,我是个写html,php是苦手,看到php文件只能一点点缕逻辑。

如果你跟我的情况一样,可以参考我下面的方法。

建立你自己的联动菜单,并在自己的分类模版中建立相关字段(这里要注意一下,字段的类别要选择联动的,不要选择单选、多选或option)。

在include/taglib/下找到infolink.lib.php并打开。

默认是两个菜单。一个是-地区-对应的名字是-nativeplace-,一个是-信息类型-对应的名字是-infotype-。

如果你想替换一个,你可以拿你的字段名称替换掉这里其中的一个(我在这里全部替换了,其实可以不全部替换,如果你弄不明白就按照我的全部替换…)。

然后在include/下找到arc.sglistview.class.php并打开,同样是全部替换掉相应的字段名。

(替换的时候要注意一下$em_infotypes这种格式写出来的后面有个“s”)

最后你就可以在自己的页面上用了。

用法是与原来的没有大变化

{dede:infolink}{/dede:infolink}

只是在引用变量的时候把人家的[field:nativeplace/]改成自己的[field:自定义字段/]

 

________我华丽么——————

 

然后说一下变成一级的问题,网上查到的不太靠谱,我给个我的方法。

还是include/taglib/下找到infolink.lib.php并打开。

找到

$sontype = ( ($nativeplace% 500 != 0) ? $nametype : 0 );
        $toptype = ( ($nativeplace% 500 == 0) ? $nativeplace: ( $nativeplace-($nametype%500) ) );       
        $fields[‘nativeplace’] = “<a href='{$baseurl}plus/list.php?channelid={$channelid}&tid={$typeid}&nativeplace={$toptype}&infotype={$infotype}’> <b>{$em_nativeplace[$toptype]}</b></a> “;
        foreach($em_nativeplaces as $eid=>$em)
        {
            if($eid < $toptype+1 || $eid > $toptype+499) continue;
            if($eid == $nativeplace) {
                $fields[‘nativeplace’] .= ” <b>{$em}</b>rn”;
            }
            else {
                $fields[‘nativeplace’] .= ” <a href='{$baseurl}plus/list.php?channelid={$channelid}&tid={$typeid}&nativeplace={$eid}&infotype={$infotype}’>{$em}</a>rn”;
          }
 }

注释掉(这个字段名我改过了,)

把上面else前面的内容拿过来就好了,如果你懂点代码的话可以自己加判断来确定哪个是选中的,我就不赘述了,有问题可交流。

 

 

 

关于织梦后台各种白屏问题的解决方法

首先查看你的php版本是不是5.4+,织梦版本是不是V57_Sp1,如果是,或者接近,请往下看。

在你的后台目录下的inc子目录中找到userlogin.class.php文件。

然后注释掉所有跟@session_register@session_unregister有关的语句,并注释掉。

再看看你的页面好使没有~

 

我只是解决了白屏问题,不知道这样注释会不会有后遗症,等待php高能人员解答。

Web OS PIXI/Pre 2 移动 gsm pre gprs上网以及彩信设置

珍惜他人劳动成果,此贴参考:http://bbs.51pda.cn/read.php?tid-7998.html

我这里补充一句的是,我的是pre2此方法仍然好用,还有我的号段是159的。

 

看到有些同学好像 gprs 和彩信的设置有问题
我的pre是 uk o2 卡贴版,刷的是1.3.5.2 原版rom
我把我的设置过程说下,大家看看能否有所帮助
打开电话界面的属性,找到这个位置
pregprs上网以及彩信设置1

把 data usage 和 manual settings都打开~
(我是移动的用户,反正没有wcdma信号,就把netwrok type 写成了 2g,这里应该无所谓吧
然后点那个 edit network settings
打开下面这个界面!
pregprs上网以及彩信设置2
先修改 internet apn,只写 cmnet就可以了,username 和 password 都为空,然后点那个 change settings,会提示你有问题,但是不要理他,用那个 set any way,强行保存,
杯具的是,这里我没截图,不知道咋的,后来也不出来这个any way了
然后再点上面的 mms apn,去设置彩信的设置
pregprs上网以及彩信设置3

pregprs上网以及彩信设置4

图片:phoneprefs_2010-14-03_142019.png

按照图上的显示的设置,apn写cmwap, 下面的用户名密码照样为空rP3HR 5 
其他设置按图设置
完成后,点change settings,还是会提示你有问题,不理他, 接着 set any way
就会保存成功,这里继续杯具,无法重现了,没有截图
到此 gprs  和 彩信的设置就完成了
退出到短信界面,我可以成功发送彩信
在web里也可以打开google首页。

觉得重点是在那两个set any way,大胆的点,没事的,大不了刷机么)’_[
刷刷更健康
一个需要注意的地方
在设置 mms的选项卡里,第一次设置的时候,只写了cmwap,没写用户名密码,下面的信息照着写的
但是,set any where,退出,重进后,发现,cmwap的用户名那里具有字符了
(这里可能是很多人不行的原因,记住,设置完成,退出后,多进来一次检查下
删掉用户名密码后,change,set any where
退出,ok了
全文完。

 

破解 官方winrar 3.7 3.8 3.9 4.0 4.1 4.2的最简单的方法

从官方网站下载试用版,然后用下面的方法就能去掉【试用版】字样,变成正版。

 

复制下面的文字,保存到rarreg.key,把此文件保存到winrar安装目录即可。

RAR registration data
Federal Agency for Education
1000000 PC usage license
UID=b621cca9a84bc5deffbf
6412612250ffbf533df6db2dfe8ccc3aae5362c06d54762105357d
5e3b1489e751c76bf6e0640001014be50a52303fed29664b074145
7e567d04159ad8defc3fb6edf32831fd1966f72c21c0c53c02fbbb
2f91cfca671d9c482b11b8ac3281cb21378e85606494da349941fa
e9ee328f12dc73e90b6356b921fbfb8522d6562a6a4b97e8ef6c9f
fb866be1e3826b5aa126a4d2bfe9336ad63003fc0e71c307fc2c60
64416495d4c55a0cc82d402110498da970812063934815d81470829275

关于input中type属性的切换

之前的几个项目一直纠结一个问题,就是input的type值可不可以通过什么方法直接切换。以保证密码输入框可以做到英文字符和点点之间自行切换,而不是覆盖一个文本层在上面坐事件或者别的什么方法。

好吧我还是上图吧:

input-type

input-type2

之前发现js里面有一个obj.type的属性可以直接改input里面的type值。

结果昨天测试发现不兼容ie9以下的ie浏览器。顿时泪奔。

所以现在的做法 依然是覆盖一个i额层在这个password上面来解决这个问题。

还有一个方法就是给3个跟password有关的input

<input class=”input1″ type=”text” value=”文字内容”/>

<input class=”input2″ type=”password” value=”密码内容”/>

<input class=”input3″ type=”hidden” value=”用来接收密码,提供给程序”/>

然后无非就是全部隐藏,需要显示文字的时候显示input1,input1获得焦点时隐藏掉input1,显示input2并把焦点光标给input2~剩下的逻辑你懂的。