• 0366 997 840
  • namdong92@gmail.com

Các hàm thường dùng


Hàm tính thời gian đã qua

const calculateElapsedTime = (timeCreated) => {
  const created = new Date(timeCreated).getTime();
  let periods = {
    year: 365 * 30 * 24 * 60 * 60 * 1000,
    month: 30 * 24 * 60 * 60 * 1000,
    week: 7 * 24 * 60 * 60 * 1000,
    day: 24 * 60 * 60 * 1000,
    hour: 60 * 60 * 1000,
    minute: 60 * 1000,
  };
  let diff = Date.now() - created;

  for (const key in periods) {
    if (diff >= periods[key]) {
      let result = Math.floor(diff / periods[key]);
      return `${result} ${(result === 1 ? key : key + "s")} ago`;
    }
  }

  return "Just now";
};

calculateElapsedTime("2022-05-20T09:03:20.229Z")
// output: 2 minutes ago

Sao chép ảnh

const copyImageToClipboard = async (imageElement) => {
  let canvas = document.createElement("canvas");
  canvas.width = imageElement.width;
  canvas.height = imageElement.height;
  let ctx = canvas.getContext("2d");
  ctx.drawImage(imageElement, 0, 0);

  const dataURL = canvas.toDataURL();
  const blob = await (await fetch(dataURL)).blob();
  navigator.clipboard.write([
    new ClipboardItem({
      "image/png": blob,
    }),
  ]);
};

Sao chép văn bản

const copyToClipboard = (text) => {
  try {
    if (navigator.clipboard && window.isSecureContext) {
      return navigator.clipboard.writeText(text);
    } else {
      let textArea = document.createElement("textarea");
      textArea.value = text;
      textArea.style.position = "fixed";
      textArea.style.left = "-999999px";
      textArea.style.top = "-999999px";
      document.body.appendChild(textArea);
      textArea.focus();
      textArea.select();
      return new Promise((res, rej) => {
        document.execCommand("copy") ? res() : rej();
        textArea.remove();
      });
    }
  } catch (error) {
    console.error(error);
  }
};

Force download file

const forceDownloadFile = (url) => {
  const anchor = document.createElement("a");
  anchor.href = url;
  anchor.download = url;
  anchor.style.display = "none";
  document.body.appendChild(anchor);
  anchor.click();
  document.body.removeChild(anchor);
};

 

 

 


Bài Liên Quan


Giới Thiệu JavaScript

Giới Thiệu JavaScript

JavaScript là ngôn ngữ kịch bản phía máy khách được gõ lỏng lẻo thực thi trong trình duyệt của người dùng. JavaScript tương tác với các phần tử html (phần tử DOM) để tạo giao diện người dùng web tương tác.

Javascript Căn Bản

Javascript Căn Bản

Bất kỳ loại tập lệnh phía máy khách nào cũng có thể được viết bên trong thẻ <script> bằng html. Thẻ script xác định một khối mã script trong trang html. Nó cũng tải một tập tin script với thuộc tính src.

Object

Object

Object is a non-primitive data type in JavaScript. It is like any other variable, the only difference is that an object holds multiple values in terms of properties and methods. Properties can hold values of primitive data types and methods are functions.

Ajax trong lập trình web

Ajax trong lập trình web

Ajax (Asynchronous JavaScript and XML) - là một khái niệm được giới thiệu và sử dụng đầu tiền vào tháng 2 năm 2005. Ajax là thứ thâm ảo với các lập trình viên mới, với những nhà tuyển dụng nó là thứ gì đó cao siêu đánh giá khả năng của lập trình viên, với maketing cho các khóa hoc nó được đưa lên một tầm cao mới là "võ công thượng thừa"  mà một lập trình viên phải đạt được, không ít người nhầm lẫn AJAX là ngôn ngữ lập trình, hầu như khi nhắc đến ajax là lại nghĩ ngay đến jquery.

Vô hiệu hóa chuột phải và không cho người dùng chọn văn bản

Vô hiệu hóa chuột phải và không cho người dùng chọn văn bản

Trong một số trường hợp bạn không muốn cho người dùng trang web sử dụng chuột phải, và không cho chọn thành phần trang bạn có thể làm....

Danh Mục

Bài Viết Mới Nhất