Allow "Save image as..." on context menu of Instagram.
当前为
// ==UserScript==
// @name instagram_allow_saveimage
// @namespace http://catherine.v0cyc1pp.com/instagram_allow_saveimage.user.js
// @include https://www.instagram.com/*
// @version 1.6
// @require http://code.jquery.com/jquery-2.2.2.min.js
// @grant none
// @run-at document-end
// @description Allow "Save image as..." on context menu of Instagram.
// ==/UserScript==
this.$ = this.jQuery = jQuery.noConflict(true);
console.log("instagram_allow_saveimage start");
function main() {
var tmp = $("article").children("div:not([class='ResponsiveBlock'])").children("div[data-reactid]").children("div[data-reactid]");
console.log("tmp="+tmp);
console.log("len="+tmp.length);
if ( tmp.length == 1 ) {
// video
$("article").children("div:not([class='ResponsiveBlock'])").children("div[data-reactid]").children("div[data-reactid]").children("div[data-reactid]:nth-last-child(1)").hide(); // for video
} else if ( tmp.length == 2 ) {
// image
$("article").children("div:not([class='ResponsiveBlock'])").children("div[data-reactid]").children("div[data-reactid]:nth-last-child(1)").hide(); // for image
} else {
// other
// image
$("article").children("div:not([class='ResponsiveBlock'])").children("div[data-reactid]").children("div[data-reactid]:nth-last-child(1)").hide(); // for image
}
};
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);