JS实现二维码生成及window.onload用法详解
【摘要】 绪 项目开发原语:已然花费半天的时间,仍旧未能将二维码显示在订单中。但是可以在单个页面中显示二维码,结合到angularjs的控制器中就失效了,自己是真的找不到其中的原因了。费解!刚开始怀疑是遮挡的问题,结果将位置更改之后还是不能显示。那么自己就得转换解题思路了,将二维码显示单独置于一个页面中,然后通过页面的嵌套(有关文章见博文"如何将一个html页面嵌套在另一个页面中")...
绪
项目开发原语:已然花费半天的时间,仍旧未能将二维码显示在订单中。但是可以在单个页面中显示二维码,结合到angularjs的控制器中就失效了,自己是真的找不到其中的原因了。费解!刚开始怀疑是遮挡的问题,结果将位置更改之后还是不能显示。
那么自己就得转换解题思路了,将二维码显示单独置于一个页面中,然后通过页面的嵌套(有关文章见博文"
"),将二维码再显示到订单中。正题
二维码生成借用第三方的js库,主要代码如下:
<body>
<div style="margin-top: 70px; margin-left: 800px;">
<div id="qrcode" alt="二维码图片"></div>
<input type="text" id="getval" style="margin-top: 70px;"/>
<button id="send" ng-click="doQrcode()">点击更换二维码</button>
</div>
<script>
window.onload = function(){
var qrcode = new QRCode(document.getElementById("qrcode"), {
width : 96, //设置二维码宽高
height : 96
});
qrcode.makeCode("http://www.baidu.com"); //默认二维码内容
document.getElementById("send").onclick =function(){
qrcode.makeCode(document.getElementById("getval").value);
}
}
</script>
</body>
window.onload用法详解
网页中的javaScript脚本代码往往需要在文档加载完成后才能够去执行,否则可能导致无法获取对象的情况,为了避免这种情况的发生,可以使用以下两种方式:
一.将脚本代码放在网页的底端,这样在运行脚本代码的时候,可以确保要操作的对象已经加载完成。
二.通过window.onload来执行脚本代码。
第一种方式感觉比较凌乱(其实推荐使用),往往我们需要将脚本代码放在一个更为合适的地方,那么window.onload方式就是一个良好的选择。window.onload是一个事件,当文档加载完成之后就会触发该事件,可以为此事件注册事件处理函数,并将要执行的脚本代码放在事件处理函数中,于是就可以避免获取不到对象的情况。
【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)