마우스 우클릭 방지

by hohoya33

JavaScript

https://stackoverflow.com/questions/21110130/protect-image-download
https://www.computerhope.com/javascript/disable-right-click.html
https://www.swimburger.net/blog/web/web-performance-prevent-wasteful-hidden-image-requests	
	
https://codepen.io/box-platform/pen/MoxzbY?editors=0110



	"preventSelectionClassName": ".wrap_article.article_view_disable_selection",
	"preventSelectionEvent": "contextmenu",

	preventSelection: function(selector) {
		if (selector && jQuery(selector).length > 0) {
			var $target = jQuery(selector);
		} else {
			var $target = jQuery(this.preventSelectionClassName);
		}

		var _this = this;

		if ($target.length > 0) {
			jQuery(document).on('keydown', function (e) {
				var pressedKey = String.fromCharCode(e.keyCode).toLowerCase();
				if (e.ctrlKey || e.metaKey) {
					if (pressedKey == "c" || pressedKey == "x" || pressedKey == "a") {
						if (_this.isCopyToClipboardForbidden()) {
							alert(_this.messages.copyAndPaste);
							e.preventDefault();
							return false;
						}
					}
				}
			});
		}
		jQuery('img', $target).on('dragstart selectstart', function(e) {
			e.preventDefault();
			return false;
		});

		$target.on(this.preventSelectionEvent, function(e) {
			e.preventDefault();
			return false
		});
	},
	isCopyToClipboardForbidden: function() {
		var selection = B.Util.getSelection();
		if (selection && selection.rangeCount > 0) {
			var range = selection.getRangeAt(0);
			if (range && range.startContainer) {
				if (jQuery(range.startContainer).closest('.brunch_comment')[0] == this.$wrapComments[0]) {
					return false;
				}
				if (jQuery(range.startContainer).closest('.cover_title')[0] == this.$coverTitle[0]) {
					return false;
				}
				if (jQuery(range.startContainer).closest('.cover_sub_title')[0] == this.$coverSubTitle[0]) {
					return false;
				}
			}
		}
		return true;
	},


    getSelection: function() {
        return window.getSelection ? window.getSelection() : document.getSelection ?...