我有一个WP博客,我试图在我的国家做两个主要的在线期刊。他们有一个JS / JQuery代码,它具有以下功能:当用户尝试复制任何新闻的引用时,粘贴的内容将替换为"要共享此内容,请使用链接... "
我真的不太了解编程,但我发现了两个网站的代码,如下:
function disableCopy(){
var s, r;
var copyright = 'O material jornalÃstico produzido pelo Estadão é protegido por lei. Para compartilhar este conteúdo, utilize o link:<a href="'+window.location.href+'">'+window.location.href+'</a>';
var status = buscaCookie();
if(!status){
$('.news').bind('copy', function () {
//cria um span temporario se não existir
if(!$("#tempbox").length)
$('<span>').attr('id','tempbox').appendTo('body').css('font-size','0');
var tempbox = document.getElementById ("tempbox");
$('#tempbox').html(copyright);
if (typeof window.getSelection !== 'undefined') {
s = window.getSelection();
s.removeAllRanges();
s.selectAllChildren(tempbox);
r = s.getRangeAt(0);
}else{
s = document.selection.createRange();
document.selection.empty();
s.moveToElementText( tempbox) ;
r = s.pasteHTML(copyright);
s.select();
}
});
}
}
和
$.fn.disable_copy = ( function ( $, window ) {
var enabled = true ,
config = {
message: 'Para compartilhar esse conteúdo, por favor utilize o link {{link}} ou as ferramentas oferecidas na página. Textos, fotos, artes e vídeos da Folha estão protegidos pela legislação brasileira sobre direito autoral. Não reproduza o conteúdo do jornal em qualquer meio de comunicação, eletrônico ou impresso, sem autorização da Folhapress (pesquisa@folhapress.com.br). As regras têm como objetivo proteger o investimento que a Folha faz na qualidade de seu jornalismo. Se precisa copiar trecho de texto da Folha para uso privado, por favor logue-se como assinante ou cadastrado.' ,
copybox: '.short-cut'
} ,
base = {
$el: null ,
opts: {} ,
// impede cópia para browsers que aceitem window.getSelection
handle_copy: function ( el ) {
var sel = window.getSelection() ,
range = sel.getRangeAt(0) ;
sel.removeAllRanges() ;
sel.selectAllChildren( el ) ;
return $.proxy( function () {
sel.removeAllRanges() ;
sel.addRange( range ) ;
} , this ) ;
} ,
// fallback para IE lt 9
handle_copy_alt: function ( el ) {
var sel = document.selection && document.selection.createRange() ,
bm = sel.getBookmark() ;
sel.moveToElementText( el ) ;
sel.select() ;
return function () {
sel = document.selection.createRange() ;
sel.moveToBookmark( bm ) ;
sel.select() ;
} ;
} ,
// handle copy action
copy: function ( e ) {
var $msg ,
reset ;
if ( ! enabled ) {
return ;
}
// ignore shortcut
if ( $( e.target ).attr( 'type' ) === 'text' && $( e.target ).closest( this.opts.copybox ).length > 0 ) {
return ;
}
// create temporary box
$msg = $( document.createElement( 'span' ) ).css( 'text-indent', '-9999px' ).css( 'width', '1px' ).css( 'height', '1px' ) ;
// set content
$msg.text( this.opts.message.replace( '{{link}}', window.location.href.replace( "staging." , "" ) ) ) ;
this.$el.append( $msg ) ;
if ( typeof window.getSelection !== 'undefined' ) {
reset = this.handle_copy( $msg.get(0) ) ;
} else {
reset = this.handle_copy_alt( $msg.get(0) ) ;
}
// remove temporary box
window.setTimeout( function () {
reset() ;
$msg.remove() ;
} , 0 ) ;
}
} ;
// Clipboard - Copyright
if ( folha.information.context.get() != "staging" ) {
if ( $.fn.disable_copy ) {
$( "#news .content" ).disable_copy() ;
}
}
如果有人可以帮我在JSFiddle上创建一个替换从特定div / p / article中选择的文本的脚本,我将非常感激!