js脚本实现⾃由复制百度⽂库⽂字
这⼏天查看百度⽂库的⽂档,当复制部分⽂字的时候发现百度⽂库对⽂本复制做了长度限制,⽽开通VIP则略显不必要,同时也为了复习下
js脚本制作,这⾥制作⼀个能够⾃由复制⽂库⽂字的脚本。
分析了下百度⽂库的限制⽅式,⽬测是通过js重写覆盖了默认的 ctrl+c 的⽅法并限制了复制的⽂字长度,因此原来的基本思路就是⾃⼰重
写⼀个⽅法再次覆盖 ctrl+c 指令并将复制的内容直接复制到粘贴板上,但是脚本做好之后发现只有当全屏⽂档之后才能复制到粘贴板上且
复制后的格式很乱,这⾥是调动了Command('copy')⽅法,⽹上查了下该⽅法的⽤法但仍旧⽆法解决,如果有哪位⼤神
知道失效原因的话还请不吝赐教。
既然上⾯的⽅法不⾏,那么改⽤将选中的⽂字显⽰出来再复制即可,因此这⾥的解决办法是 ctrl+c 之后将选中的⽂字放⼊⾃⼰创建的
textarea中,效果有点类似alert。具体代码如下:
var isopen = false;
var title = document.title;
if (title.indexOf('百度⽂库') != -1) {
keydown = newKeyDown;
function newKeyDown(evt) {
evt = (evt) ? evt : window.event
if (evt.keyCode) {
if (lKey && evt.keyCode == 67) {
if (isopen) {
ElementById("cover"));
ElementById("dialog"));
isopen = false;
} else {
Selection());
}
}
}
}js脚本开发
}
}
function show(content) {
isopen = true;
var page_width = document.documentElement.scrollWidth;
var page_height = document.documentElement.scrollHeight;
var b_width = document.documentElement.clientWidth;
var b_height = document.documentElement.clientHeight;
var cover = ateElement("div");
cover.id = "cover";
cover.style = 'background-color: black;opacity: 0.3;position: absolute;top: 0px;left: 0px;z-index: 99990;width:' + page_width + 'px;height:' + page_height + 'px'; document.body.appendChild(cover);
var dialog = ateElement("div");
dialog.id = "dialog";
dialog.style.left = (b_width - 400) / 2 + "px";
p = ( b_height - 300) / 2 + "px";
dialog.style = 'width: 400px;height: 300px;background-color: white;position: fixed;z-index: 99999;left: 39%;top: 200px;border-radius: 5px;'
var ku = document.body.appendChild(dialog);
ku.innerHTML += '<textarea >' + String().replace(new RegExp(' ', 'g'), '
') + '</tex ElementById("cover").onclick = function () {
veChild(cover);
veChild(dialog);
}
}
将这段代码封装成js然后放⼊扩展插件那⾥就可以了,如不清楚可参考。
不想⾃⼰弄的也可以戳下载直接使⽤。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论