比特大陆蚂蚁矿机S7

趣味比特代码:将动态币价放入各大网站标题栏

cndx 发布在 技术指南 5 4359

前言:

 

近期巴比特论坛有一个较大的更新,就是在论坛首页目录下加入了两行比特币交易信息。引起了吧友的广泛热议,主要是讨论是否有必要加,及如何加,怎样加等很多问题。其中有建议说,可以加到标题栏,只加入一个最新成交价即可。于是我利用自己的js编程能力开发实现了。将成果编程代码整理下全部分享出来供大家使用。代码总共才十几行,且可压缩到一行。

 

代码分享

 

先分享压缩到一行的代码给大家,将动态最新比特币价格放入任何网站标题栏的代码。

javascript:function idgui(b){BTCtitle=String.fromCharCode(3647)+b.data.prices[0].price;document.title=BTCtitle+"-"+y+"- idgui.cm";setTimeout("reloadJS('api',u+new Date().getTime())",3E4)}function reloadJS(b,c){var a=null;(a=document.getElementById(b))&&a.parentNode.removeChild(a);a=document.createElement("script");a.src=c;a.id=b;document.getElementsByTagName("head")[0].appendChild(a)}y=document.title;u="https://chain.so/api/v2/get_price/BTC/CNY?callback=idgui&";reloadJS("api",u+(new Date).getTime());

 

代码使用方法及效果

 

根据浏览器不同用法不同,主要有两种使用方法,若都不行建议换个浏览器试试。

方法一:复制上面代码,在浏览器的地址栏粘贴并转到,估计大部分浏览器会支持。

方法二:复制上面代码,菜单或快捷键打开浏览器的开发者工具,粘贴到命令输入回车。

效果大家看下面截图。究竟是神马奇葩情况,不仅仅巴比特的资讯和论坛,连中国互联网三大巨头BAT的贴吧、淘宝和腾讯网都标贴栏加入最新币价了。

币价会在不断地定期自动更新,目前为一分钟左右更新一次。有效显示时间是在此页面刷新之前。刷新重新进入后需要再粘贴输入一次上面代码才可以。

 

pricetitle

代码原理及介绍

 

可以将下面代码拷贝保存到记事本中,然后将记事本文件的后缀由.txt修改为.htm。然后双击用浏览器打开即可。有自己网站的可以将下面代码放到head代码内,别人不用复制上面代码输入也可以了。

<head><script>
function idgui(b) {
BTCtitle = String.fromCharCode(3647) + b.data.prices[0].price;
document.title = BTCtitle + "-" + y + "- idgui.cm";
setTimeout("reloadJS('api',u+new Date().getTime())", 3E4)
}
function reloadJS(b, c) {
var a = null;
(a = document.getElementById(b)) && a.parentNode.removeChild(a);
a = document.createElement("script");
a.src = c;
a.id = b;
document.getElementsByTagName("head")[0].appendChild(a)
}
y = document.title;
u = "https://chain.so/api/v2/get_price/BTC/CNY?callback=idgui&";
reloadJS("api", u + (new Date).getTime());
</script></head>

代码的开发难度不是很大,但是考虑到通用性不能使用jQuery,又要寻找有callback的价格API找了好久,最后找到chain.so的勉强凑合。大家若有更好的API资源希望告知,国内的那几家包括时代的官方交易API,都没有提供callback不知什么原因。希望将来各平台能提供,以替代这个数据更新较慢的API。

代码内容本身主要是两个函数:主控制函数idgui(b),重新加载脚本函数reloadJS(b, c)。

主控制函数延时30秒后来重新加载API的远程脚本Json数据,API中的callback参数值设为主函数名,这样即实现跨域,也实现了循环更新。

bitcoin

 

几个编程小细节分享

 

麻雀虽然小但较全,分享出来几个代码细节,送给正进行开发比特币应用地技术人员们。

1、比特币的符号

可以用近似的String.fromCharCode(3647)来表示,即0E3F的(฿),兼容性较好。而带两竖条的正式的比特币符号的提案刚刚才被UNICODE组织接纳,以后可能换个数字String.fromCharCode(8383)即20BF就可以了。即比特币是8383现在用3647近似代替,狗狗币是208(Ð),莱特币符号是321(Ł)。

见巴比特论坛的问答帖子《如何在电脑上打出比特币的符号?

若是自己控制的网站,如网址http://idgui.com/8BTC可以通过加字体文件BTC.ttf和下代码实现网页中的比特币符号。

<style>
@font-face{font-family:"BTC";src:url(http://idgui.com/8btc/BTC.ttf) format('truetype')}
.btc{font-family:"BTC";line-height:initial}</style>
<span class="btc">BTC</span>

论坛等地方用{ { BTC } }来给用户输入,后台查找其替换为<span class="btc">BTC</span>即可,希望8BTC能早日实现。若有不会可联系我交流。

2、重载Javascipt脚本

见上面reloadJS函数,注意调用参数中加入一个时间戳数(new Date).getTime(),每次不同可以避免其重载时不向服务器请求下载最新数据。

3、JSON的跨域名读取

Javascript脚本为了安全是不能直接跨域名操作的。而这个callback参数假设参数值为myfun,就能能构造一个myfun({json})的函数。通过脚本引入进来,且本地构造一个myfun(b)来实现数据跨域交互。

若有更好的程序或更好的想法,欢迎大家与我交流。

 

作者:cndx(玛_雅)
BTC及各币打赏:idgui.com/t/?1DogeKd9JrUNzFaLEyWAVxCVXSvWxe6sAm
狗狗币吧捐赠:DDoge8EoKfCCngrzcXvVuxKWJr1HLWfDS6  竞付宝ID: btc
稿源:巴比特资讯

版权声明: by nc" sa 作者保留权利。文章为作者独立观点,不代表巴比特立场。
发文时比特币标准价格 买价:¥2486.91 卖价:¥2486.05

评论:5

您需要登录后才可以回复 登录|注册
    喔喔吴青峰
    喔喔吴青峰 392 天前

    这明显是被欺负[生病]的样子

    +1
    +1
    我要点评
    江恩-狗狗币
    江恩-狗狗币 392 天前

    这个不错[doge][doge][good] //@狗狗币:【币价放任意网页标题栏】将代码中的BTC/CNY,换成DOGE/BTC,可以显示狗狗币的价格@江恩-狗狗币

    +1
    +1
    我要点评
    狗狗币
    狗狗币 393 天前

    【币价放任意网页标题栏】将代码中的BTC/CNY,换成DOGE/BTC,可以显示狗狗币的价格@江恩-狗狗币

    +1
    +1
    我要点评
    巴比特资讯
    巴比特资讯 393 天前

    【趣味比特代码:将动态币价放入各大网站标题栏】有人建议说,可以加到标题栏,只加入一个最新成交价即可。于是我利用自己的js编程能力开发实现了。将成果编程代码整理下全部分享出来供大家使用。代码总共才十几行,且可压缩到一行。http://t.cn/RUp3ITg 作者:cndx(玛_雅)

    +1
    +1
    我要点评