canvas教程

HTML5网页中SVG和Canvas以及IMG图片的转换方法(2)

字号+ 作者:H5之家 来源:H5之家 2017-05-06 09:05 我要评论( )

3.写一个Form, 注意: 将其属性target指向IFrame的名称,这样提交后返回的目标页面就会在IFrame中,而不被看见。 将提交按钮改为一般的Button :INPUT type=button onclick=func() 4.为以上类添加一个函数sendFileR

3.写一个<Form>, 注意:
将其属性target指向IFrame的名称,这样提交后返回的目标页面就会在IFrame中,而不被看见。
将提交按钮改为一般的Button :<INPUT type="button" onclick="func()">

4.为以上类添加一个函数sendFileRequest(),参数放入Form的名称和回调函数的指针,这样就可以像表单中在提交前添加一些需要的变量,并且提交;

5.这里注意一点,如果表单<Form>中不包含<Input type="file">这样的元素的话,表单内容完全可以自动生成,例如可以通过函数sendFileRequest()进行构建,或在嵌入的页 中进行构建,然后把表单的各种值以Key=Value数组的形式传入,借此可以封装成一个函数:
var form=document.createElement("Form");
...
但如果包含<Input type="file">的话,文件上传时该tag的属性value是文件的名称,而此属性是只读的不能被赋值:
var fileInput=document.createElement("Input");
fileInput.type="file";
fileInput.name="myName"
fileInput.value="myfile.txt" //此句会出错
这是由于安全的原因,<Input type="file">不能被赋值;
这样,表单必须做正常形式,target指向IFrame的name。

6.在以上的那个类中,再添加一个函数作为回调函数getResponse(msg):
  getResponse:function(msg){
   this.responseText=msg;
   this.HandleResponse.call(this);
   //调用用户传入的回调函数
  }

7.服务器端程序的撰写。主要是向IFrame提交一个可自动运行的网页:
<HTML>
 <HEAD><TITLE></TITLE></HEAD>
 <BODY onload="doit();"></BODY>
 <SCRIPT LANGUAGE="JavaScript">
 <!--
  function doit(){
   parent.fileuploader.getResponse(msg);
   //调用回调函数
  }
 //-->
 </SCRIPT>
</HTML>

localStorage是html5新增的功能,它的作用是可以在浏览器里保存我们需要的信息,从而可以在页面之间切换和使用,比cookie方便,也比cookie能够存储更多的东西,下面是几个常用的localStorage方法:


1、添加localStorage

localStorage.setItem(“key”,”value”); //以“key”为名称存储一个值“value”

2、获取localStorage

localStorage.getItem(“key”);//获取名称为“key”的值

3、删除localStorage

localStorage.removeItem(“key”); //删除名称为“key”的信息

4、清空localStorage

localStorage.clear(); //清空localStorage中所有信息

5、查看已经保存的localStorage

可通过chrome浏览器的控制台工具Resource–Local Storage里查看


1) 检测你的浏览器是否支持localStorage:

if(window.localStorage){

 alert('YES!');

 } else alert('NO!');

 

 2) 数据都是以键值对的形式存储在localStorage中的,使用时直接在window.localStorage中添加一个属性就可以了,定义和修改的示例如下:

//在window.localStorage添加一个test属性,并赋值test1的三种实现方式

localStorage.test = “test1”;

localStorage[“test”] = “test1”;

localStorage.setItem(“test”,”test1”);

 

 //属性值得修改同其的定义方式一样

 

//属性值的获取

var test = localStorage.test;

var test = localStorage[“test”];

var test = localStorage.getItem(“test”);

 

 //属性的删除

 localStorage.removeItem(“test”);//清除属性test

 localStorage.clear();//清除所有的属性

 

 3) localStorage提供的key()和length可以方便的实现所有属性的数据遍历,例:

 var storage = window.localStorage;

 var key = “”;

 for(var i = 0;I < storage.length;i++){

 key = storage.key(i);

 console.log(key + “ : ” + localStorage.getItem(key));

}

 

4)localStorage仅能存储这种key/value键值对形式的数据,如果我们要存储的数据量比较大那,可以试试把这些数据转化为json数据,作为value值存储进去。如:

 //set the infomation

 var json = {“name”:”echo”,”message”:”hello localStorage”,”id”:1};

 localStorage.setItem(“info”,json);

 

//get the information

var info = localStorage.getItem(“info”);

info = eval(“(” + info + ”)”);

console.log(“name:”+info.name+” message:”+info.message);

 

5)如果你用html5 的canvas做开发,你可以把这个canvas的内容生成一个快照在另一个html中显示,如:

//普通canvas实现

var canvas = document.getElementById(“canvas”);

var url = canvas.toDataURL(“image/png”);

localStorage.setItem(“image”,url);

 

 //如果你用webgl做3D开发,可这么实现

var url = renderer.domElement.toDataURL('image/png','name');

localStorage.setItem("image",url);

 

聊完了这些,让我来看看到底是怎样使用localStorage的。

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • 学习使用Canvas绘图

    学习使用Canvas绘图

    2017-05-05 17:03

  • canvas 画六边形边框

    canvas 画六边形边框

    2017-05-05 12:00

  • 妙味课堂HTML5视频教程——canvas基础5.zip

    妙味课堂HTML5视频教程——canvas基础5.zip

    2017-05-04 18:11

  • canvas系列教程1

    canvas系列教程1

    2017-05-04 14:00

网友点评
e