Javascript 截断复制的web文本
这段代码正是我想要的:将版权信息添加到复制的web文本的底部。然而,它复制了整篇文章。我想限制它说50个字或200个字符。我应该如何进行Javascript 截断复制的web文本,javascript,jquery,Javascript,Jquery,这段代码正是我想要的:将版权信息添加到复制的web文本的底部。然而,它复制了整篇文章。我想限制它说50个字或200个字符。我应该如何进行 $(document).ready(function () { document.body.oncopy = function () { var body_element = document.getElementsByTagName('body')[0]; var selection; selectio
$(document).ready(function () {
document.body.oncopy = function () {
var body_element = document.getElementsByTagName('body')[0];
var selection;
selection = window.getSelection();
var pagelink = "<br />Read more at: <a href='" + document.location.href + "'>" + document.location.href + "</a><br />";
var copytext = selection + pagelink;
var newdiv = document.createElement('div');
body_element.appendChild(newdiv);
newdiv.innerHTML = copytext;
selection.selectAllChildren(newdiv);
window.setTimeout(function () {
body_element.removeChild(newdiv);
}, 0);
};
});
$(文档).ready(函数(){
document.body.oncopy=函数(){
var body_element=document.getElementsByTagName('body')[0];
var选择;
selection=window.getSelection();
var pagelink=“
更多信息请访问:
”;
var copytext=选择+页面链接;
var newdiv=document.createElement('div');
body_元素appendChild(newdiv);
newdiv.innerHTML=copytext;
选择。选择所有子项(newdiv);
setTimeout(函数(){
主体元素移除child(newdiv);
}, 0);
};
});
我不知道如何使用
子字符串
,或者上面的代码没有使用写入
功能 我在您的代码中添加了一些额外的指令。首先,从复制的文本中剪切前200个字符(如果超过200个字符),然后,如果超过50个单词,则剪切前50个单词。尝试更改wordsLimit
和charactersLimit
变量的值以了解效果
$(文档).ready(函数(){
document.body.oncopy=函数(){
var wordsLimit=50;
var charactersLimit=200;
var body_element=document.getElementsByTagName('body')[0];
var选择;
selection=window.getSelection();
var limitChar=selection.toString().slice(0,charactersLimit);
var limitWord=limitChar;
var-iter=0;
var-end=null;
limitWord.replace(/\s/g,函数(a,b){
iter++;
if(iter===wordsLimit)limitWord=limitWord.slice(0,b);
});
var pagelink=“
更多信息请访问:
”;
var copytext=limitWord+pagelink;
var newdiv=document.createElement('div');
body_元素appendChild(newdiv);
newdiv.innerHTML=copytext;
选择。选择所有子项(newdiv);
setTimeout(函数(){
主体元素移除child(newdiv);
}, 0);
};
});代码>
Lorem ipsum dolor sit amet,是一位杰出的献身者。Etiam hendrerit orci vel urna tincidunt我叫leo dapibus。Nunc sodales arcu拍卖行、aliquam augue ut、blandit lorem。我们在弗林利亚的一次酒后驾车。埃蒂亚姆·埃利芬德(Etiam eleifend)、塞姆(sem)和奥纳雷(varius ornare)、马萨(massa tellus tincidunt metus)、艾蒂亚姆·埃利芬德(ac-Ultrices ex-diam ac arcu)。佩伦茨克在权杖前,奎斯克·洛博蒂斯·莱克图斯坐在阿梅特·波特托·达皮布斯(amet porttitor dapibus)的座位上。萨吉特教堂。阿尼安·莫利斯·鲁特鲁姆·安特。埃蒂亚姆·拉西尼亚·阿利奎姆·佩伦茨克。在自然社会中,因怀孕而死亡的蒙特斯,因饥饿而死亡的蒙特斯,因饥饿而死亡的蒙特斯,因饥饿而死亡的蒙特斯,因饥饿而死亡的蒙特斯,因饥饿而死亡的蒙特斯,因饥饿而死亡的蒙特斯,因饥饿而死亡的蒙特斯,因饥饿而死亡的蒙特斯。Lorem ipsum dolor sit amet,是一位杰出的献身者。Etiam hendrerit orci vel urna tincidunt我叫leo dapibus。Nunc sodales arcu拍卖行、aliquam augue ut、blandit lorem。我们在弗林利亚的一次酒后驾车。埃蒂亚姆·埃利芬德(Etiam eleifend)、塞姆(sem)和奥纳雷(varius ornare)、马萨(massa tellus tincidunt metus)、艾蒂亚姆·埃利芬德(ac-Ultrices ex-diam ac arcu)。佩伦茨克在权杖前,奎斯克·洛博蒂斯·莱克图斯坐在阿梅特·波特托·达皮布斯(amet porttitor dapibus)的座位上。萨吉特教堂。阿尼安·莫利斯·鲁特鲁姆·安特。埃蒂亚姆·拉西尼亚·阿利奎姆·佩伦茨克。在自然社会中,因怀孕而死亡的蒙特斯,因饥饿而死亡的蒙特斯,因饥饿而死亡的蒙特斯,因饥饿而死亡的蒙特斯,因饥饿而死亡的蒙特斯,因饥饿而死亡的蒙特斯,因饥饿而死亡的蒙特斯,因饥饿而死亡的蒙特斯,因饥饿而死亡的蒙特斯
Lorem ipsum dolor sit amet,是一位杰出的献身者。Etiam hendrerit orci vel urna tincidunt我叫leo dapibus。Nunc sodales arcu拍卖行、aliquam augue ut、blandit lorem。我们在弗林利亚的一次酒后驾车。埃蒂亚姆·埃利芬德(Etiam eleifend)、塞姆(sem)和奥纳雷(varius ornare)、马萨(massa tellus tincidunt metus)、艾蒂亚姆·埃利芬德(ac-Ultrices ex-diam ac arcu)。佩伦茨克在权杖前,奎斯克·洛博蒂斯·莱克图斯坐在阿梅特·波特托·达皮布斯(amet porttitor dapibus)的座位上。萨吉特教堂。阿尼安·莫利斯·鲁特鲁姆·安特。埃蒂亚姆·拉西尼亚·阿利奎姆·佩伦茨克。在自然社会中,因怀孕而死亡的蒙特斯,因饥饿而死亡的蒙特斯,因饥饿而死亡的蒙特斯,因饥饿而死亡的蒙特斯,因饥饿而死亡的蒙特斯,因饥饿而死亡的蒙特斯,因饥饿而死亡的蒙特斯,因饥饿而死亡的蒙特斯,因饥饿而死亡的蒙特斯。Lorem ipsum dolor sit amet,是一位杰出的献身者。Etiam hendrerit orci vel urna tincidunt我叫leo dapibus。Nunc sodales arcu拍卖行、aliquam augue ut、blandit lorem。我们在弗林利亚的一次酒后驾车。埃蒂亚姆·埃利芬德(Etiam eleifend)、塞姆(sem)和奥纳雷(varius ornare)、马萨(massa tellus tincidunt metus)、艾蒂亚姆·埃利芬德(ac-Ultrices ex-diam ac arcu)。佩伦茨克在权杖前,奎斯克·洛博蒂斯·莱克图斯坐在阿梅特·波特托·达皮布斯(amet porttitor dapibus)的座位上。萨吉特教堂。阿尼安·莫利斯·鲁特鲁姆·安特。埃蒂亚姆·拉西尼亚·阿利奎姆·佩伦茨克。在自然社会中,因怀孕而死亡的蒙特斯,因饥饿而死亡的蒙特斯,因饥饿而死亡的蒙特斯,因饥饿而死亡的蒙特斯,因饥饿而死亡的蒙特斯,因饥饿而死亡的蒙特斯,因饥饿而死亡的蒙特斯,因饥饿而死亡的蒙特斯,因饥饿而死亡的蒙特斯
这是最后一行
200个字符应该很容易:.substring(0200)
我在哪里添加这个子字符串
?我看到了这个例子,但是它使用了write函数,这里没有write函数。我不太擅长JS。这是一种string
(或string
)的方法,因此您只需执行copytext.substring(0200)
。链接副本对此有解释。请记住,子字符串将返回新字符串,而不是修改现有的字符串。也就是说,您应该这样做:copytext=copytext.substring(0200)
非常感谢。顺便说一句,如果我必须只截断单词而不截断字符,该怎么办?当单词truncate已就位时,如何使字符truncate成为可选的?从selection.toString().slice(0,charactersLimit)中删除.slice(0,charactersLimit)
代码>使其看起来像var limitChar=selection.toString()代码>