Bytes 智能转换为 KB, MB,GB

本文参考了 http://otnv.pixnet.net/blog/post/29073136

代码:

function readablizeBytes(bytes) {
    var s = ['Bytes', 'KB', 'MB', 'GB', 'TB', 'PB'];
    var e = Math.floor(Math.log(bytes)/Math.log(1024));
    return (bytes/Math.pow(1024, Math.floor(e))).toFixed(2)+" "+s[e];
}

用法:

readablizeBytes(8589312); // return 8.19 MB

实例:
Firefox 扩展 DiB 的功能如下:
DiB1
可以看出此扩展是以 Bytes 为单位的,不够友好。现在用本文的代码对源代码进行改动,达到文件大小智能显示的效果:
DiB2
只须改动文件 扩展\chrome\content\overlay.js 即可
改动前:

var showDialogAddonDiB =
{
  init: function()
  {
    if ("contentLength" in dialog.mLauncher)
    {
      var bytes = dialog.mLauncher.contentLength;
      var type = dialog.dialogElement("type");
      if (bytes != -1)
      {
        type.value += " (" + bytes.toLocaleString() + " Bytes)";
        type.setAttribute("tooltiptext", type.value);
      }
    }
  }
};
dialog.mDialog.addEventListener("load", function() { showDialogAddonDiB.init(); }, false);

改动后:

var showDialogAddonDiB =
{
  init: function()
  {
    if ("contentLength" in dialog.mLauncher)
    {
      var bytes = dialog.mLauncher.contentLength;
      var type = dialog.dialogElement("type");
      if (bytes != -1)
      {
        type.value += " ( " + readablizeBytes(bytes).toLocaleString() + " )";
        type.setAttribute("tooltiptext", type.value);
      }
    }

    function readablizeBytes(bytes) {
        var s = ['Bytes', 'KB', 'MB', 'GB', 'TB', 'PB'];
        var e = Math.floor(Math.log(bytes)/Math.log(1024));
        return (bytes/Math.pow(1024, Math.floor(e))).toFixed(2)+" "+s[e];
    }
  }

};
dialog.mDialog.addEventListener("load", function() { showDialogAddonDiB.init(); }, false);

[JavaScript]Bytes 智能转换为 KB, MB,GB

本文参考了 http://otnv.pixnet.net/blog/post/29073136

代码:

function readablizeBytes(bytes) {
    var s = ['Bytes', 'KB', 'MB', 'GB', 'TB', 'PB'];
    var e = Math.floor(Math.log(bytes)/Math.log(1024));
    return (bytes/Math.pow(1024, Math.floor(e))).toFixed(2)+" "+s[e];
}

用法:

readablizeBytes(8589312); // return 8.19 MB

实例:
Firefox 扩展 DiB 的功能如下:
DiB1
可以看出此扩展是以 Bytes 为单位的,不够友好。现在用本文的代码对源代码进行改动,达到文件大小智能显示的效果:
DiB2
只须改动文件 扩展\chrome\content\overlay.js 即可
改动前:

var showDialogAddonDiB =
{
  init: function()
  {
    if ("contentLength" in dialog.mLauncher)
    {
      var bytes = dialog.mLauncher.contentLength;
      var type = dialog.dialogElement("type");
      if (bytes != -1)
      {
        type.value += " (" + bytes.toLocaleString() + " Bytes)";
        type.setAttribute("tooltiptext", type.value);
      }
    }
  }
};
dialog.mDialog.addEventListener("load", function() { showDialogAddonDiB.init(); }, false);

改动后:

var showDialogAddonDiB =
{
  init: function()
  {
    if ("contentLength" in dialog.mLauncher)
    {
      var bytes = dialog.mLauncher.contentLength;
      var type = dialog.dialogElement("type");
      if (bytes != -1)
      {
        type.value += " ( " + readablizeBytes(bytes).toLocaleString() + " )";
        type.setAttribute("tooltiptext", type.value);
      }
    }

    function readablizeBytes(bytes) {
        var s = ['Bytes', 'KB', 'MB', 'GB', 'TB', 'PB'];
        var e = Math.floor(Math.log(bytes)/Math.log(1024));
        return (bytes/Math.pow(1024, Math.floor(e))).toFixed(2)+" "+s[e];
    }
  }

};
dialog.mDialog.addEventListener("load", function() { showDialogAddonDiB.init(); }, false);

给文本框添加一键转换 Markdown 格式为 Html 的功能的 Greasemonkey 脚本

这是我的第一个油猴(Greasemonkey)脚本(Markdown textarea)。基于 John Fraser 的 Showdown.js

先看效果图:

markdown-textarea-01
markdown-textarea-02

点击安装,   脚本页面

推荐一个在浏览器中查看 Markdown 格式文件的油猴脚本: Another Markdown File Viewer

Update:

  1. 忽略隐藏的 textarea
  2. 添加自动更新功能
  3. 移除自动更新功能