WordPress For SAE 修改表前缀后无法登陆后台的解决方案

此博客托管在新浪SAE,另外还有自己维护的几个站也一样都在SAE,因为访问量都不大,所以新浪SAE的按量收费是比较合理的,但新浪最新的价格政策调整为对应用每天收取租金的方式,其中最大租金支出是MYSQL的每日租金。

共享MySQL租金2云豆/小时,一天就是48云豆,换算人民币是0.48元每天。新浪云普通用户可以免费建立5个应用,跑满5个应用每天需要2.4元,每年是864元,这只是租金,还没算访问量占用的其他资源,这个价格完全可以租一台阿里云的基础版独立云服务器啦,而且一台服务器可以架设的站点远大于新浪SAE的普通用户所能建立的5个应用!

不过还好SAE支持跨站点授权,就是可以几个应用共享一个应用的MYSQL资源,这样就很好的节省了很多MYSQL租金。

***********************正文分割线*************************

因为共享MySQL只能有一个数据库,所以几个应用共享一个库就得使用不同的表前缀了。

那么问题就来啦,一顿折腾更改好表前缀后,后台无法登陆啦,提示“您没有足够的权限访问该页面”;

Google后参照我爱水煮鱼的文章修改了其中两个表里的内容后依然错误依旧,继续参考很多文章,都是同样的步骤,并没有操作错误;

折腾一下午,想起来前段时间为了提高页面性能开启了Wordpress的Memcache功能,随后去SAE控制台(授权和被授权应用都清一下)把Memcache给清空了一下,果然好了;原因就是修改了数据表后,和Memcache没有同步的结果。

SAE开启跨站点授权后,多个应用公用一个MYSQL的方法其实也很简单,如果你也是Wordpress For SAE 的用户可以参考以下:

1、主应用,应用设置 -> 跨应用授权 ,先授权给目标应用
2、主应用,在主应用下新建一个php文件,目的是获取主应用MYSQL数据库的访问密码,文件代码如下:


<?php
header("Content-type:text/html;charset=utf-8");

echo "用户名 :".SAE_MYSQL_USER.'<br>';
echo "密码 :".SAE_MYSQL_PASS.'<br>';
echo "主库域名:".SAE_MYSQL_HOST_M.'<br>';
echo "从库域名:".SAE_MYSQL_HOST_S.'<br>';
echo "端口 :".SAE_MYSQL_PORT.'<br>';
echo "数据库名:".SAE_MYSQL_DB;

?>

访问这个页面,就会显示你想获取的数据库信息了。

3、目标应用,修改Wordpress 的 wp_config.php 里的数据库信息为刚才获取到的信息

至此,大功告成!

中文Web Font 字库

webfont

 

有字库是中文web font(网络字体)服务平台。目前收录1000多重中文字体,1万多种英文字体。

支持两种字体引入方式:

  1. 生成特定文字的CSS,好处是CSS文件体积小加载快,坏处是如果更改文字,维护反锁。
  2. 使用JS加载整个字库,适合多文字的文章页面。

需要注册登陆后才可以使用,选择一款字库后会有详细的说明告诉你怎么引入JS或CSS。

 

字蛛

字蛛通过分析本地 CSS 与 HTML 文件获取 WebFont 中没有使用的字符,并将这些字符数据从字体中删除以实现压缩,同时生成跨浏览器使用的格式。

这种方式运行在NodeJS环境下,是本地打包的方式,字体文件也是托管在自家服务器,虽然有使用门槛,但是确保了速度和稳定性。

使用Modernizr检测浏览器的HTML5和CSS3支持功能

什么是Modernizr

Modernizr 是一个用来检测浏览器功能支持情况的 JavaScript 库。 目前,通过检验浏览器对一系列测试的处理情况,Modernizr 可以检测18项 CSS3 功能以及40多项关于HTML5 的功能。 它比传统检测浏览器名称(navigator.userAgent属性)的方式更为可靠。 一整套测试的执行时间仅需几微秒。 此外,Modernizr 网站通过定制脚本只对你感兴趣的元素进行检测,从而实现效率优化。

怎么使用Modernizr?

网页中加载Modernizr后,会自动在<html>标签中插入 <html class=”no-boxshadow”>类似的CSS类名,你只要在CSS文件中事先写好 .no-boxshadow img{**} 时应该显示的样式就可以了。

Modernizr也会生成一个Modernizr对象,你可以通过检测Modernizr.geolocation是否为ture来判断浏览器支持地理位置与否。

更详细的介绍请参考:http://www.adobe.com/cn/devnet/dreamweaver/articles/using-modernizr.html

 

iOS系统利用微信判断是否已经安装自家应用

做社交应用的,尤其是图片类应用都会提供把照片分享到新浪微博、微信朋友圈等社区的功能,为了让分享出去的信息不那么单一,通常的做法是分享一个网页地址,网页里会提供一些照片的附属资料,例如地理位置,拍摄时间,海拔等,当然最重要的还要加入应用的下载地址,以达到传播的目的,拍秀既是如此。

本文要表达的主题既是利用微信,利用分享到微信里的网页,实现和自家应用的用户或潜在用户进行更深层次的交互!

为了营销,通常会把自家应用的下载连接放到网页里,因为一个网页在IOS的生态里(其他平台应该也是如此)是没办法获取另一个应用的信息的,所以只能假定浏览者是没有安装自家应用的,如果能知道是否已经安装自家应用,那能做的事情就很多了,例如分享的是一个团购的信息,浏览者就可以通过一个按钮直接调起自家团购应用进行下单,再例如分享的是一个拍秀的个人信息名片,浏览者就可以点击调起拍秀直接加为好友。

回归正题,首先要感谢微信的设计者提供了这个平台级的小功能!(能如此成功的产品不是偶然)要实现上面提到的深层交互,利用微信是必要因素,还有两个技术点:
1、[isappinstalled=1]参数,这个参数,只有在微信里浏览一个网页时会被自动加在地址栏里,一般你的应用都需要通过微信的认证才能通过SDK分享内容,所以微信通过应用级的系统信息访问权限能够获知你的应用是否已经安装在用户的系统内。前端人员通过服务端技术或者客户端技术判断此参数如果是1,就代表浏览者已经安装了你的应用;在Google分析或者Cnzz等网页统计系统里你应该能看到这个参数的身影。

2、iPhone提供的:UIApplication类的openURL方法,这是完成应用间通信的关键,调起自家应用的时候可以传递商品ID,用户ID等。
我搜索的中文参考:http://www.cnblogs.com/zhw511006/archive/2011/11/28/2266587.html,iOS开发不在讨论范畴请自行Google之。

微信公众平台前端开发技巧分享

微信公众平台
微信公众平台

新版微信做了更改,此文提到的部分方法可能已经不再适用,请关注微信官方开放平台:http://open.weixin.qq.com/document/?lang=zh_CN

微信很火,微信推出的公众平台也吸引了一部分市场宣传推广团队,像冷笑话大全这种微博养粉大户在微信的公众平台也是异常火爆。

因工作需求,最近为我们的市场部做了几个微信公共平台下的页面,其中涉及微信公众账号的友情链接,转发一篇文章到微信朋友圈,判断是否转发成功的回调机制,判断是否成功关注微信帐号等的前端代码,我也是通过分析冷笑话大全的页面找到的方法,也google过,但没找到微信官方有公布过相关文档,所以就把自己知道的拿来分享一下。

微信内嵌浏览器:

微信内嵌浏览器有一个私有JS 对象:WeixinJSBridge,通过操作这个对象的相关方法可以实现转发链接到微信朋友圈,和判断一个微信号的关注状态,比如在进行转发抽奖的活动时,判断是否转发成功和是否关注成功会很有必要。

转发链接到朋友圈:

//点击事件调用此函数即可激发一次转发到朋友圈操作
function toWexinFriends(){

	WeixinJSBridge.invoke('shareTimeline',{
		"img_url": "http://example.com/example.png",
		//"img_width": "640",
		//"img_height": "640",
		"link": "http://example.com",
		"desc": "描述",
		"title": "标题"
	},function(res){
		// 返回res.err_msg,取值
		// share_timeline:cancel 用户取消
		// share_timeline:fail 发送失败
		// share_timeline:confirm 发送成功
		WeixinJSBridge.log(res.err_msg);

		if(res.err_msg == 'share_timeline:confirm'){
			//转发成功
		};
	});

}

关注微信公众帐号:


function addFirend(){

//gh_122a2ee67fae 为被添加者的微信ID

WeixinJSBridge.invoke("addContact", {webtype: "1",username: 'gh_122a2ee67fae'}, function(e) {
			WeixinJSBridge.log(e.err_msg);
			//e.err_msg:add_contact:added 已经添加
			//e.err_msg:add_contact:cancel 取消添加
			//e.err_msg:add_contact:ok 添加成功
			if(e.err_msg == 'add_contact:added' || e.err_msg == 'add_contact:ok'){
				//关注成功,或者已经关注过
			}
		})
}

以上都需要在微信内嵌浏览器内才能被识别,通过判断WeixinJSBridge对象是否存在,可以知道是否在微信内浏览的页面。

微信内嵌浏览器还可以识别:

<a href="weixin://profile/gh_122a2ee67fae"></a>

此种类型的链接,此链接在微信内会链接到一个公共帐号的介绍界面。
外部浏览器可以使用:

<a href="weixin://qr/aHUbFAjE_jaFhxl3nyBM"></a>

此种类型的链接在手机的外部浏览器也会被自动识别并跳转到微信,但会进行条码扫描,体验不是很好。

以上分享希望对大家有所帮助,更希望知情人士分享更多技巧,QQ的社交链真的是强大到可怕,微信已经渐渐成长壮大,必会成为网络营销的另一片沃土!

转载:基于眼动追踪(Eye-Tracking)理论,23条网页设计优化建议

翻网络记事本,偶然看到不知道什么时候收藏的一篇,关于网页设计优化的文章!出处也不记得了,先分享再说吧!

网络设计领域关于眼动追踪[Eye-Tracking]的研究十分火爆,但是如何把这些研究结果转变为具体可行的设计来运作依旧是个难点。以下就是一些来自于Eye-Tracking研究结果的窍门,可以为改进你的网站设计提供些意见:

1.对比图像,文字更具吸引力

与你所认为的相反,在浏览一个网站的时候,能够直接吸引用户目光的并不是图像。大多数通过偶然点击进入你的网站的用户,他们是来寻觅信息的而不是图像。因此,保证你的网站设计凸现出最重要的信息板块,这才是设计的首要原则。

2.眼球的第一运动聚焦于网页的左上角

用户浏览网页的这一习惯应该在意料之中,毕竟左上部为主要操作中心这一点为大多数重要的计算机应用程序的设计所采用。在你构建网站考虑网站设计时,应该尽量保持这一格式。要知道,如果你希望保持个人特色,搭建一个成功的网站,你就必须尊重用户们的习惯。

3.用户浏览网页时,首先观察网页的左上部和上层部分,之后再往下阅读,浏览右边的内容

用户普遍的浏览方式呈现出“F”的形状。保证网站内容的重要要素集中于这些关键区域,以此确保读者的参与。在此放置头条,副题,热点以及重要文章,这样可以吸引到读者进行阅读。

4.读者会忽视横幅广告

研究表明,读者常忽视大部分的横幅广告——尽管你以此维持网站生计——视线往往只停留几分之一秒。如果你想通过广告挣钱,那么必须创新你的广告位以及合理配置网站广告形式。

5.花哨的字体和格式被忽视

为什么呢?那是因为用户会认为这些是广告,并非他们所需要的信息。事实上,研究表明用户很难在充满大量颜色的花哨字体格式里寻找到所需的信息,因为视觉线索告诉他们把这些忽略吧。保持网站的清爽,不要因为华而不实的表面,让重要的信息被忽略。

6.用数词来代替数字

如果使用数词取代数字的罗列,读者会发现在你的网站可以很容易地发现真实的资料。要知道,你是写给那些将第一次浏览你的网站的读者,所以,让他们容易发现他们所需的信息,让他们感兴趣。

7.字体大小影响浏览行为

想改变人们对你的网页的看法吗?改变网页字体的大小。大的字体刺激浏览,而小一些的字体则提高焦点阅读量。根据你的需要,合理配置两者的比例。

8.遇到感兴趣的内容,用户仅会多看一眼副标题

不要过分坚持副标题固定的格式——保证他们的相关性和兴趣。你也可以让副标题包含关键词,这样可以有效利用搜索引擎,让它带来读者。

9.人们大都只浏览网页的小部分内容

如果在用户浏览的时候提供信息使他们尽快锁定目标,就可以把这一点发展成为你的优势。突出某些部分或者创建项目列表使网页信息容易找到和阅读。

10.简短的段落相对于长段落来说有更好的表现力

网页信息是为大多数强调快速浏览的无联网用户提供的。除非上下文的衔接要求,保持信息由简短的段落和句式组成,例如这个电子商务网站的产品介绍。

11.根据视觉锁定,一栏格式比多栏格式拥有更好的表现力

别让过多的信息把网站来访者淹没。大多数情况下,简洁更具力量。多栏内容容易被用户忽视,我们需要消除这些干扰。

12.网页顶部和左边的广告更能吸引眼球

如需要在网站植入广告,试图使他们融入网页的左上部,这样他们才能吸引到最大的视觉注意力。当然,用户仅仅会注意到这些广告,这并不意味着他们会用鼠标点击。所以不要为了提高广告的注意力而牺牲原有的网站设计。

13.将广告放置与最佳内容一旁也可以提升注意力

如果想要提升广告的可视性和点击率,可以将其设置于最能引起人兴趣的内容一旁,整合进网页的设计里。这样,用户既可以找到所需的内容,你也能提升广告的效益。

14.在各种测试中,人们阅读文字广告最为专心

正如上面提到的,一般的互联网用户不会花费太多时间用于查看那些一眼就能看出是广告的内容。这就是文字广告表现出众的原因。他们并没有分散注意力,而是与网页的其它部分内容融为一体,这让他们减少了对读者的视觉刺激,也使这一广告形式获得成功的阅读率。

15.越大的图像吸引越多的注意力

如果要在网页中使用图片,那越大越好。人们更倾向于查看那些能够清楚地看到细节和获取信息的图像。要保证你所用的图片与文章内容相关,否则它更容易被忽视。大多数读者都拥有高速的连接速度,所以请放心在你的网站上使用那些较大体积的图片。

16.干净、清晰的特写图片能吸引更多的视觉注意

可能那些抽象的艺术图片会让你的网站看起来很有味道,但是他们并不会吸引多少读者的注意力。如果你需要使用到这些图片,请确保所用图片的清晰以及其表达内容的简单可读性。必须注意的是,那些与真实的“人”相关的图片比所谓的模特图片更为“优秀”。

17.标题能吸引眼球

浏览网页时,读者能发现的第一内容是标题。确保网页的所有相关链接畅通和有效,以让读者顺利的通过网站进一步搜索。

18.用户花费大量时间察看按钮和菜单

所以,你需要花费额外的时间维护你的精心设计。毕竟,他们不仅吸引了读者的眼球,更是网站设计的重要组成要素。

19.表单格式可以延长读者的注意时间

分解内容和段落,大量使用表单形式来表现你的文章,可以保证读者的浏览率。使用数字和其它标记符号来突出文章的重要内容,会让网站更容易浏览,用户更快的找到所需的信息。

20.避免呈现大块的文本

研究显示,一般的网络浏览者不会花费时间去阅读大块的文本,无论他们有多重要或写得多好。因此,必须把这些大文本分解为若干小段落。突出重要的地方,放置点击的按钮也可以提高用户的注意力。

21.格式可以吸引注意力

在文中使用粗体、大写、彩体、下划线可以帮助用户获取正文所表达的最主要的信息。使用时需要谨慎,因为过多的使用会使你的网页难以阅读,把读者吓跑。

22.利用好空白

尽管把网页的每寸空间都填满这个想法十分诱人,但事实上让网站留出部分剩余更为不错。网站的过量信息会把用户淹没,同时他们也会忘记所提供的大部分的内容。所以保持网页的简洁,给读者预留出一些视觉空间来供读者休息。

23.放置于网页顶部,导航工具的作用将更好的发挥

理想情况下,你不会满足于当读者打开你的网站时仅浏览初始页,而是希望他们浏览翻阅,察看其它感兴趣的内容。将导航器置于网页顶部,就可以让用户通过使用这个工具轻松的找到所需的目标内容。

免费矢量图搜索引擎 Vector.us 上线

今早收到来自Findicons.com的提醒邮件,他们发布了 Vector.us ,一个免费矢量图搜索引擎!刚去看了一下,已经收录了超过15万的免费矢量素材!令人兴奋吧!

如果你曾经是Findicons.com的注册会员,在邮件中会有一个链接用于把Findicons.com的账户信息复制到Vector.us。