近期论坛有一个较大的更新,就是在论坛首页目录下加入了两行比特币交易信息。引起了吧友的广泛热议,主要是讨论是否有必要加,及讲解加,怎样加等很多问题。其中有建议说,可以加到标题栏,只加入一个**成交价即可。于是我利用自己的编程能力开发实现了。将成果编程代码整理下全部分享出来供到底使用。代码总共才十几行,且可压缩到一行。
先分享压缩到一行的代码给到底,将动态**比特币价格放入任何网站标题栏的代码。
javascript:function idgui(b){BTCtitle=String.fromCharCode(3647)+b.data.prices[0].price;document.title=BTCtitle+"-"+y+"- idgui.cm";setTimeout("reload('api',u+new Date().getTime())",3E4)}function reload(b,c){var a=null;(a=document.getElementById(b))&&a.parentNode.removeChild(a);a=document.createElement("script");a.src=http://www.528btc.com/college/c;a.id=b;document.getElementyTagName("head")[0].appendChild(a)}y=document.title;u="https://chain.so/api/v2/get_price/BTC/CNY?callback=idgui&";reload("api",u+(new Date).getTime());
根据浏览器不同用法不同,主要有两种使用方法,若都不行建议换个浏览器试试。
方法一:**上面代码,在浏览器的地址栏粘贴并转到,估计大部分浏览器会支持。
方法二:**上面代码,菜单或快捷键打开浏览器的开发者工具,粘贴到命令输入回车。
效果到底看下面的截图。谈到是神马奇葩情况,不仅仅的资讯和论坛,连中国互联网三大巨头BAT的贴吧、**和腾讯网都标贴栏加入**币价了。
币价会在不断地定期自动更新,目前为一分钟左右更新一次。有效显示时间是在此页面刷新之前。刷新重新进入后需要再粘贴输入一次上面代码才可以。
可以将下面的代码拷贝保存到记事本中,然后将记事本文件的后缀由.txt修改为.htm。然后双击用浏览器打开即可。有自己网站的可以将下面的代码放到head代码内,别人不用**上面代码输入也可以了。
<head><script> function idgui(b) { BTCtitle=String.fromCharCode(3647) + b.data.prices[0].price; document.title=BTCtitle + "-" + y + "- idgui.cm"; setTimeout("reload('api',u+new Date().getTime())", 3E4) } function reload(b, c) { var a=null; (a=document.getElementById(b)) && a.parentNode.removeChild(a); a=document.createElement("script"); a.src=http://www.528btc.com/college/c; a.id=b; document.getElementyTagName("head")[0].appendChild(a) } y=document.title; u="https://chain.so/api/v2/get_price/BTC/CNY?callback=idgui&"; reload("api", u + (new Date).getTime()); </script></head>
代码的开发难度不是很大,但是考虑到通用性不能使用jQuery,又要寻找有callback的价格API找了好久,**找到chain.so的勉强凑合。到底若有更好的API资源希望告知,国内的那几家包括时代的官方交易API,都没有提供callback不知什么原因。希望将来各平台能提供,以替代这个数据更新较慢的API。
代码内容本身主要是两个函数:主控制函数idgui(b),重新加载脚本函数reload(b, c)。
主控制函数延时30秒后来重新加载API的远程脚本on数据,API中的callback参数值设为主函数名,这样即实现跨域,也实现了循环更新。
麻雀虽然小但较全,分享出来几个代码细节,送给正进行开发比特币应用地技术人员们。
可以用近似的String.fromCharCode(3647)来表示,即0E3F的(?),兼容性较好。而带两竖条的正式的比特币符号的提案刚刚才被UNICODE组织接纳,以后可能换个数字String.fromCharCode(8383)即20BF就可以了。即比特币是8383现在用3647近似代替,狗狗币是208(D),莱特币符号是321(?)。
见论坛的问答帖子《讲解在电脑上打出比特币的符号?》
若是自己控制的网站,如网址http://idgui.com/8BTC可以通过加字体文件BTC.ttf和下代码实现网页中的比特币符号。
<style> @font-face{font-fami:"BTC";src:url(http://idgui.com/8btc/BTC.ttf) format('truetype')} .btc{font-fami:"BTC";line-height:initial}</style> <span class="btc">BTC</span>
论坛等地方用来给用户输入,后台查找其替换为即可,希望8BTC能早日实现。若有不会可联系我交流。
见上面reload函数,注意调用参数中加入一个时间戳数(new Date).getTime(),每次不同可以避免其重载时不向服务器请求下载**数据。
Javascript脚本为了安全是不能直接跨域名操作的。而这个callback参数假设参数值为myfun,就能能构造一个myfun({on})的函数。通过脚本引入进来,且本地构造一个myfun(b)来实现数据跨域交互。
若有更好的程序或更好的想法,欢迎到底与我交流。
作者:cndx(玛_雅)
BTC及各币打赏:idgui.com/t/?1DogeKd9JrUNzFaLEyWAVxCVXSvWxe6sAm
狗狗币吧捐赠:DDoge8EoKfCCngrzcXvVuxKWJr1HLWfDS6 ?竞付宝ID: btc
稿源:资讯
免责声明: 文章源于会员发布,不作为任何投资建议,如有侵权请联系我们删除!
文章链接:https://www.btchangqing.cn/428874.html
更新时间:2022年12月26日
本站大部分内容均收集于网络,若内容若侵犯到您的权益,请联系我们,我们将第一时间处理。