instagram_allow_saveimage

Allow "Save image as..." on context menu of Instagram.

当前为 2017-07-03 提交的版本,查看 最新版本

您需要先安装一个扩展,例如 篡改猴Greasemonkey暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴Userscripts ,之后才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。

您需要先安装用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

// ==UserScript==
// @name        instagram_allow_saveimage
// @namespace   http://catherine.v0cyc1pp.com/instagram_allow_saveimage.user.js
// @include     https://www.instagram.com/*
// @version     1.11
// @require     http://code.jquery.com/jquery-2.2.4.min.js
// @grant       none
// @run-at      document-end
// @description Allow "Save image as..." on context menu of Instagram.
// @description KNOWN ISSUE: can't save videos.
// ==/UserScript==

this.$ = this.jQuery = jQuery.noConflict(true);


console.log("instagram_allow_saveimage start");


function main() {
	$("img").each(function() {
		var $parent = $(this).parent("div");
		console.log("$parent="+$parent);
		var $next = $parent.next("div");
		console.log("$next="+$next);
		if ( $next === null || $next === undefined ) {
			return;
		}

		var classname = $next.attr("class");
		console.log("classname="+classname);
		var kids = $next.children();
		console.log("len="+kids.length);
		if ( kids.length === 0 ) {
			console.log("hide: classname="+classname);
			$next.hide();
		} else {
			console.log("show: classname="+classname);
			$next.show();
		}
	});

}


var observer = new MutationObserver(function(mutations) {
    observer.disconnect();
    main();
    observer.observe( document, config);
});

var config = { attributes: false, childList: true, characterData: false, subtree:true };

observer.observe( document, config);