Archive for the ‘前端技术’ Category

WDShare 西安前端线下交流会-新一期活动开始报名

星期六, 十月 11th, 2014

新一期活动开始报名:http://www.wdshare.org/

名额有限,先报先得,报名后持邀请码入场。

关于分享的随笔

星期二, 八月 19th, 2014

分享是一件快乐的事情,你受益、听者也受益。

每个人都有分享的内容,只是看你愿不愿意展示自己、挑战自己。

你分享的次数越多,你思考问题的思路也就越清晰,讲话也就越有条理;

你善于总结和学习,也就善于分享,只要你乐于分享,那么你的朋友也就越来越多,身边的机会也就多了,有一天你的工资高到可能会吓到你。

技术人员分享点:

    1、项目剖析;

    2、新技术点全面整理,例如:深入讲解@media query;

    3、难题分享【难指的是典型】,例如:ajax页面如何被SEO收录;

    4、日常BUG整理及解决思路;

    5、个人作品讲解;

    6、面试题讲解;

    ……

    注意:不要分享那些虚无缥缈的东西,你的分享是为了让所有人都听懂,而不是一味的追求技术,经验告诉我们,越接地气的东西越受欢迎;

    分享那些大家工作中都用到的,而你又挖掘的比较细腻,这样不但容易听懂,而且大家能跟着你的思路走,在你研究细腻的部分掌声出奇的浓烈。

WDShare【前端技术交流会】欢迎您的分享!
联系我:QQ:106324307; 邮箱:wdshare@163.com

西安高级前端开发群欢迎您的分享,QQ群号:375042952

什么是JS?

星期五, 七月 18th, 2014

它可以提供一流的用户体验,并且让网页飞奔起来;
它给了网页无限的创造力,它是网页的灵魂;
没有它的网页是远古石器时代,有了它的网页是现代艺术。

西安前端开发技术交流沙龙【第一届】7.26举办

星期二, 七月 8th, 2014

该交流沙龙由QQ群375042952的群主及所有成员发起。

 

2014.07.26 前端交流会
大小:60(大厅)-100(总共)平
位置:西安市东大街端履门菊花园17号寻路咖啡(和青年旅社在一起,地下一层)
小伙伴们,聚会地址已确定。这次的活动内容有所变化:
时间是:2014.07.26 14:00 – 18:00
联系电话:
高新-小天:18591767722
上海-杰克:15221835391
14:00 – 15:30 咖啡店老板胖哥激情开场白演讲
15:30-16:30 主题分享 ppt演示时间。
1. 由天哥分享“主题待定”
2. 由我来分享“前端的那些事儿”
3. 作品展示 (有想展示作品的私下联系我)
16:30-18:00 互动交流
一个分享:
这次活动没有任何费用,就是想请大伙坐在一起喝杯咖啡,顺便交流一下彼此对技术的理解与期望。大伙不要有任何经济与思想上的负担。如果你感觉活动对你有益,等活动结束后捐赠群基金,以此来支撑下一次活动的举行。
两个要求 :
1. 2点开场,请离的远的同学尽早出门,我们场地有限,是根据报名人数来定的场地。如果来得晚,你懂的。
2. 交流分享,有交流有分享。有好的东西请大伙拿出来演示分享,有职业疑问请大伙提前准备。

 

ps: 这次没有报名的同学,想来的,稍等等我跟报名的同学确认完之后看看还有多少空位置。

 

回复本信息也可报名,但需要填写如下信息,如果您在这里认真点写,相信我们的交流会质量会更高。

 

您的姓名:
您的邮箱:
您的公司名称(学生填写学校名称):
您的职位(学生填写专业):
工作年限:
您对西安前端的寄语:

 

同时也欢迎您来这里交流,西安高级前端开发 群号:375042952

 

新闻手机客户端内嵌式开发记录

星期二, 十二月 25th, 2012

如何创建webview,先看Activity方法:

public class Hello extends Activity {

/** Called when the activity is first created. */

private WebView webview;

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

webview= new WebView(this);

setContentView(webview);

webview.loadUrl("http://www.imf7.com/webapp/");

//设置支持JavaScript脚本

WebSettings webSettings = webview.getSettings();

webSettings.setJavaScriptEnabled(true);

//设置可以访问文件

webSettings.setAllowFileAccess(true);

//设置不支持缩放

webSettings.setBuiltInZoomControls(false);

//设置滚动条样式,去掉滚动条白边

webview.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY);

//设置WebViewClient

// 在WebView中而不是默认浏览器中显示页面 取消地址栏

webview.setWebViewClient(new WebViewClient() {

public boolean shouldOverrideUrlLoading(WebView view, String url) {

view.loadUrl(url);

return true;

}

@Override

public void onPageFinished(WebView view, String url) {

super.onPageFinished(view, url);

}

@Override

public void onPageStarted(WebView view, String url, Bitmap favicon) {

super.onPageStarted(view, url, favicon);

}

});

}

//设置回退

//覆盖Activity类的onKeyDown(int keyCoder,KeyEvent event)方法

@Override

public void onBackPressed() {

if (webview.canGoBack()) {

webview.goBack();

} else {

super.onBackPressed();

}

}

}

另外,AndroidManifest.xml中必须添加<uses-permission android:name="android.permission.INTERNET" />进行许可,放在<uses-sdk android:minSdkVersion="8" />下面就行。

(更多…)

Unix哲学中人类创造的三个系统理念

星期一, 九月 10th, 2012

以下是结合书本和工作得出的一些认知:

第一个系统是精简、其貌不扬的,主要用途是激发他人的想法和创造力,它成功的几率很小;

第二个系统是由专家来设计的,商业化、臃肿而缓慢,功能丰富,成功率最高;

第三个系统保留了第一和第二系统中最佳特性和被大家完全接受和理解的部分的结合。

Unix人员的开发步骤:

1、撰写一份简短的功能规格文件;

2、编写软件;

3、使用迭代的软件测试/重新编写代码的开发过程,直至完成全部功能;

4、如果有必要的话,在撰写一份详细的文档。

他们没有臃肿的解说文档,但他们用可见的demo来告诉需求方软件将来是这样的,我们是否需要做出调整?

通过demo的确认保证了他们不走弯路,并且激发了需求方的创造力,使最终产品更加完美。

他们采用迭代式的开发,不断的从需求方哪里获得反馈消息来修正软件的方向;他们采用组件式的开发,颗粒度精细到合理,所以不必担心他们的重构。

所有功能开发完成后再编写出程序员或者专业感兴趣的人能看懂的文档就可以了,文档不是给需求方看的,不需要那么臃肿。

其实所有的系统都可以用三个系统的理念去构建,任何系统都不可能一蹴而就,其实当你开始创建一个系统的时候,可以说你同时也在创建第三个系统。

在百度编辑器【uEditor】中扩展粘贴按钮

星期一, 九月 3rd, 2012

为什么会有这个需求呢。。。。说实话,我们网站的用户年龄端都比较大,使用者有很多都是电脑初级水平,他们设置只会用鼠标,不会用Ctrl+v来粘贴,所以只能给他们一个点击的按钮了。

前提:您需要了解如何在百度编辑器【uEditor】中添加一个新的功能按钮,详细方法: http://ueditor.baidu.com/website/document.html 这个地址中的二次开发会教你如何添加。

这里我重点描述一下实现功能的思路:

首先,我们需要获取剪切板的HTML代码,获取的方法有:clipboardData.getData("text") 和 document.execCommand('paste') 。 这两个方法的详细参数大家搜索一下吧,这里不细说了。关键是这里两个方法直接console.log或者直接innerHTML出来的都是不带HTML文本内容,这里要注意,我们需要将它们的值直接放在拥有contentEditable属性的iframe或者其他节点中,推荐用iframe,因为IE6认识他,这样IE就可以得到完整的剪切板中HTML代码了,这些方法非IE不支持,他们安全级别太高,搜索到的资料暂时突破不了;

IE获取剪切板内同的不同:ie6可以直接获取,IE7及以上需要授权提示,这样就会产生没有授权的状态;

针对非IE和IE没有授权进行处理,这两者可视为一个状态,我们只能让用户使用邮件或者快捷键来实现,这是我们弹出一个拥有contentEditable属性的节点,让用户可以用右键或者快捷键将内容放进节点内,得到内容后交给编辑器,大功告成。

以上思路是CKEditor的做法,本人只是参考模仿。

(更多…)

关于邮件传输HTML附件产生邮件签名代码的注意

星期一, 九月 3rd, 2012

今天又发现一个这样的现象,看看下面这行代码:

<!– saved from url=(0022)http://internet.e-mail –>

 

这是因为同学们在用邮件传输HTML附件的时候邮件系统自动给HTML源码第一行添加的代码,至于那个邮件系统没有追踪,但希望大家以后在传递html附件的时候打包传输。

 

就是这行代码,他会产生很多莫名其妙的兼容问题等,今天发现的问题是因为它导致IE8中无法正常读取iframe的高度。

iframe页面是编辑们经常更新的,难免通过邮件传输,结果就产生了一行莫名其妙的签名,导致我抓耳挠腮思索半天才发现这货的存在。

 

在这里祈祷我们可爱的同事们不要再直接HTML附件了,因为这行代码导致的问题已经不是第一次了,阿弥陀佛!

 

某些编程或是做事的思想哲学

星期日, 七月 1st, 2012

Unix思想:

小即是美:小巧的事物有着无可比拟的巨大优势,它能够以独特有效的方式结合其他小事物,它能带给最初设计者意想不到的开心;

只做好一件事:集中精力完成单一任务,程序可以减少冗余代码,从而避免过高的资源开销、不必要的复杂性和缺乏灵活性;

尽快建立原型:『或许是先建立程序结构或主线路吧,本人还没有完全参透』;

舍高效而取可移植性:作为前端开发着,我完全支持这个观点;

充分利用软件的杠杆效应:其实就是对可重用代码模块的认知,代码重用能帮助人们在相对较短的时间内编写出大量的应用程序;

让每一个程序都成为过滤器:『未能理解』。

允许用户制定环境:『片面理解为允许用户配置功能参数』;

尽量使操作系统内核小而轻巧:尽管对新功能的追求永无止境,但我们必须让最核心的部分保持最小的规模;『所以现在前端行业越是小巧灵活的框架月受青睐』;

并行思考:大多数任务都能分解成更小的子任务,这些子任务可以并行运行,因而在完成一项大任务的时间内可以完成更多的子任务;

各部分之和大于整体:小程序集合而成的大型应用程序比单个的程序更灵活,也更为实用。小程序集合的大型应用更具有前瞻性;

寻找90%的解决方案:百分之百的完成任何事情都是很困难的。完成90%的目标会更有效率,并且节省成本。剩下的10%任由其自生自灭;

更坏就是更好:『是讲包容么?不理解』;

层次化思考:任何设计都需要层次化。

这是一份不完全的Unix思想,很多地方我还未能完全理解,接续努力,牢记这些对我们的以后会有很大的帮助。

CSS在IE中的一些HACK

星期五, 四月 20th, 2012

了解一下就可以了,不建议广泛使用。。。

* html #selector {} /* ie 6 */
*+html #selector {} /* ie 7 */

_property:value; /* ie 6 */
*property:value; /* ie 6/7 */
property:value!ie; /* ie 6/7 */
property:value\0; /* ie 8/9 */
property:value\9\0; /* ie 8/9 */ 某些只支持ie9【background-color:red\9\0;】,某些支持8和9【background:red\9\0;】,不建议使用
property /*\**/:value\9; /* ie 7/8/9 */
property:value\9; /* ie 6/7/8/9 */ font缩写不支持
property /**/:value; /* ! ie 6 */ 除IE6之外的所有浏览器

更多更详细的参考:http://www.swordair.com/tools/css-hack-table/