마우스 우클릭 방지
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 ?...