安固途径

知识来源于感觉和经验

使用余音WebSpeech

2015-10-22, 星期四|
前端开发

我想在Web上使用tts(Text to Speech),于是特意在网上搜索了一番,找到余音WebSpeech,发现其使用十分简单,特此记录这件事。

另一方面我想了解如何动态加载JS,又如何跨域。前面看到百度文章收藏的书签、为知笔记网页剪辑工具、QQ云输入法这些范例,于是特意模仿之。我知道JQuery的$.getScript可以动态加载并执行JS,但是我想用纯JavaScript。

使用余音WebSpeech的WebSpeech.js,于是先上传到本空间

我想用WebSpeech说的话是文本框中的内容

var words = document.getElementsByName('username')[0].value;

对于有JQuery的特定网页,也许用选择器更准确

var words = $('input[name="username"]').val();

动态加载js的方法是在网页的body的头部插入Script元素

void(function(d){
    var b = d.getElementsByTagName("body")[0];
    var first
...
阅读全文

byzanz 屏幕录制程序初体验

2015-09-16, 星期三|
软件

byzanz,别棕子或掰簪子,是linux平台使用的程序,用以录制桌面并保存为gif,flv,webm等格式。它有点奇葩,只能以命令的方式运行。

1.首先在fedora下安装之:

# dnf install -y byzanz

2.然后,看看是怎么用的:

$ byzanz-record --help

说是有几个选项需要设定,动画的时间,延时的秒数,是否带光标,起始位置及高度等,通过指定文件名的后缀判断保存的动画格式,如果是webm格式,还可以通过 -a来带录音。

3.小试了一下,

$ byzanz-record -v -c -d 30 demo.gif

其中,-v表示--verbose, 带此参数用以查看程序运行的状态。-c是表示录制的时候光标也一并录入,-d 30则是表示录制时长为30秒,最后是文件名。可惜不能后台运行,因为带&后,提示文件名错误。也许$ byzanz-record demo.gif -v -c -d 30 &可以,但没试过。

运行的过程中也没有出现什么异常,下面是效果图。

示例图

说说别棕子不好的地方:

  • 非要用命令行的,都没有界面,录制时把终端也录制进去
...
阅读全文

Windows XP 开机密码重置的方法

2015-08-22, 星期六|
windows权限提升

有些电脑使用XP系统,登录的账号没有管理员权限被各种限制,或者windows账户的密码忘记了,进入不了系统,这时可以重新设定一个管理员账号以在本地登录,并因此获得了电脑的管理员权限,也就可以安装输入法软件,使用U盘了。

要Hack一个windows账号也许有很多方法,但比较通用的一个方法就是利用system账户使用cmd,并利用net user命令创建一个账户。示例这里利用的是使用U盘启动计算机,然后才能更改计算机硬盘。

首先需要准备一个linux live U盘系统或windows PE,linux系统Ubuntu或fedora都可以。如果没有,可以先去fedora官网下载iso系统并用软件win32 image write写入到U盘中。

1、使用linux live系统进入电脑。并在nautilus文件管理器中找到并挂载安装有windows系统的硬盘。然后cd到system32文件夹。

cd /run/media/Live.../diskto/WINDOWS/system32/

2、关键的一步是将cmd.exe复制为sethc.exe。(sethc.exe是粘滞键管理器,按5次s

...
阅读全文

Jquery获取iframe内元素

2015-08-12, 星期三|
前端开发

最近替手机店充值话费,老是要输入密码觉着挺麻烦的,由于密码是在iframe里面的,因此不会直接让浏览器保存这个密码。于是特地研究了一下如何获取并设置iframe里面的form,及form内的object。

1.易通代理充值

1.1获取frame内的表单

form = $("#main2").contents().find("form");

1.2获取form内的输入密码控件和按钮控件

inpagtpwd = $(form).contents().find("#agtpwd");
btnbutton = $(form).contents().find("#button");

2.移动微Boss充值

移动微Boss充值有iframe嵌套

2.1 获取iframe里的frame的内容

doc = $("#contentFrame").contents().find("frame[name='mainFrame']")[0].contentWindow.document;

2.2 获取iframe里面的密码控件和按钮控件

inpChargePass = $(doc).contents(
...
阅读全文

django ListView 分页

2015-07-02, 星期四|
Django开发

找到以下资料:

模板中涉及到 page_obj, page_obj.has_previous, page_obj.has_next, page_obj.previous_page_number, page_obj.next_page_number 等变量。

pagination

views.py 中涉及到 paginate_by 这个参数。

pagination

具体访问的 url 为 /objects/?page=3

pagination

因此,只用在 views.py 的 ListView 类中为 paginate_by 参数赋整型数值,就可以修改模板,使模板有上分页或下分页的链接。

...
阅读全文