Behance - fetch lazy-load images immediately

Fetch lazy-load images immediately at document load

スクリプトをインストールするには、Tampermonkey, GreasemonkeyViolentmonkey のような拡張機能のインストールが必要です。

You will need to install an extension such as Tampermonkey to install this script.

スクリプトをインストールするには、TampermonkeyViolentmonkey のような拡張機能のインストールが必要です。

スクリプトをインストールするには、TampermonkeyUserscripts のような拡張機能のインストールが必要です。

このスクリプトをインストールするには、Tampermonkeyなどの拡張機能をインストールする必要があります。

このスクリプトをインストールするには、ユーザースクリプト管理ツールの拡張機能をインストールする必要があります。

(ユーザースクリプト管理ツールは設定済みなのでインストール!)

このスタイルをインストールするには、Stylusなどの拡張機能をインストールする必要があります。

このスタイルをインストールするには、Stylus などの拡張機能をインストールする必要があります。

このスタイルをインストールするには、Stylus tなどの拡張機能をインストールする必要があります。

このスタイルをインストールするには、ユーザースタイル管理用の拡張機能をインストールする必要があります。

このスタイルをインストールするには、ユーザースタイル管理用の拡張機能をインストールする必要があります。

このスタイルをインストールするには、ユーザースタイル管理用の拡張機能をインストールする必要があります。

(ユーザースタイル管理ツールは設定済みなのでインストール!)

このスクリプトの質問や評価の投稿はこちら通報はこちらへお寄せください
// ==UserScript==
// @name        Behance - fetch lazy-load images immediately
// @description Fetch lazy-load images immediately at document load
// @include     https://www.behance.net/*
// @version     1.0.5
// @namespace   wOxxOm.scripts
// @author      wOxxOm
// @license     MIT License
// @run-at      document-start
// @require     https://greasyfork.org/scripts/12228/code/setMutationHandler.js
// ==/UserScript==

window.addEventListener('DOMContentLoaded', function(e) {
  processNodes([].slice.call(document.querySelectorAll('.js-picture-lazy')));
  setMutationHandler(document.body, '.js-picture-lazy', processNodes);
});

function processNodes(nodes) {
  nodes.forEach(function(n) {
    if (img = n.querySelector('img')) {
      img.src = img.dataset.src;
      img.removeAttribute('width');
      img.removeAttribute('height');
      img.removeAttribute('style');
    }
    var picture = document.createElement('picture');
    while (n.firstElementChild)
      picture.appendChild(n.removeChild(n.firstElementChild));
    n.parentNode.replaceChild(picture, n);
    n.remove();
  });
}