Chrome 插件不受 同源策略的限制, 允许跨站请求

想做一个HTML 元素转化为图片的功能, 可是如果你在自己的网址上做, 图片是可以拿到, 但是一旦放到canvas 里面, 就遭受同源策略的限制. 当然, 我这里只是找到一个 HTML 元素 转 canvas, canvas 再转 图片的方案.

突然发现 chrome的插件不受 同源策略的限制, 欣喜十分.
详细信息, 参看这里: https://developer.chrome.com/apps/xhr

html 元素转成 canvas, 然后在转成图片

这里记录最近研究如何做页面图片处理的一些知识链接:

js 处理图片的类库:
http://www.pixastic.com/lib/docs/

js 转换html 元素为 canvas, 转换为图片的类库:
http://html2canvas.hertzen.com/

有关跨域的处理
https://developer.mozilla.org/en-US/docs/Web/HTML/CORS_enabled_image

其他:
html, canvas, image
http://www.html5canvastutorials.com/tutorials/html5-canvas-image-size/
html5 canvas API:
http://www.w3schools.com/tags/ref_canvas.asp
html 5 canvas 教程:
http://www.html5canvastutorials.com/advanced/html5-canvas-save-drawing-as-an-image/
jsfiddle 在线例子:
http://jsfiddle.net/Sq7hg/2/
中文关于 CORS的一篇比较好的文章:
http://blog.csdn.net/hfahe/article/details/7730944

Java 语言的 Exception

定义:
An exception is an event, which occurs during the execution of a program, that disrupts the normal flow of the program's instructions.

类继承关系:
Object
--Throwable .............................. 鼻祖, 所有 exception 的祖先
----Error .................................... 程序外部问题, 无法预期, 不可恢复
----Exception ............................. 除 RuntimeException 外, 都可预期, 可恢复
------RuntimeException ............. 程序内部问题, 无法预期, 不可恢复

不可预期的 Error 和 RuntimeException 都是不强制需要 try 或 throws 声明捕获的.
除了 Error 和 RuntimeException, 及其之类之外, 都需要 try 或 throws 声明捕获, 包括 throw 的 Throwable.

Error 和 RuntimeException, 及其子类被认为是 unchecked exception, 其他被认为是 checked exception, checked exception 都必须被声明捕获.

除了 try-catch-finally 块之外, Java SE 7 引入了 try-with-resources 语句, 这种新的语句特别使用于可以 Closeable 的 resources. 凡是实现 java.io.Closeable 接口的对象, 都可以通过这种语句来自动 close resource;

try (BufferedReader br = new BufferedReader(new FileReader("a.txt"))) {
    br.readLine();
}

当然 try 后面的括号中可以 声明多个 resource, 用;分开就行.
同时, 它仍然还可以跟 catch, finally 块.

Java SE 7 还引入了下面的语句:

catch (IOException|SQLException ex) {
    logger.log(ex);
    throw ex;
}

一般的try语句, 必须有 catch 或者 finally 跟随, 但是 try-with-resource 语句之后, 就不必了.

Mac 下的 java 安装路径

Mac 上的 Java 安装过好多次 JDK 1.7 但是等到真正在 eclipse 里面切换系统 library 的时候, 却找不到它了, 只在下面的路径看到系统默认的 JDK 1.6

/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/

在 stackoverflow 上查到如下命令:

/usr/libexec/java_home -v 1.7

发现原来另外安装的 JDK 1.7 在下面这个位置:

superman:~ root$ /usr/libexec/java_home -v 1.7
/Library/Java/JavaVirtualMachines/jdk1.7.0_60.jdk/Contents/Home

参考: Where is Java 7 Installed on Mac OS X?