本文介绍一种通过保存JavaScript代码为Chrome书签的方法,解决网页链接因鼠标悬停变手指形状而无法选中文本的问题。用户只需点击书签并配合Ctrl键即可实现链接内文字的复制,操作简便且无需安装额外插件。
解决网页链接文字复制问题
通常情况下,网页上的超链接在鼠标悬停时会显示为手指形状,这使得用户无法通过拖动鼠标来选中和复制链接中的文字。为了解决这一不便,可以使用一段JavaScript代码将其保存为Chrome浏览器的书签。当需要复制链接文字时,点击该书签,同时按住Ctrl键,即可实现链接中文字的复制操作。
实现复制链接中部分文字的具体代码如下:
JavaScript书签脚本实现
javascript: (function() {
var h, checked = true,
down = false;
document.addEventListener('mouseover',
function(e) {
var link, c = '',
target = e.target;
if (target.nodeName == 'A') {
if (target.hasChildNodes) {
for (var i = 0; i < target.childNodes.length; i++) {
if (target.childNodes[i].nodeName == 'INPUT') return;
}
}
link = target;
}
if (target.parentNode.nodeName == 'A' && target.nodeName != 'IMG' && target.nodeName != 'INPUT') {
link = target.parentNode;
}
if (!link) return;
if (checked) {
h = link.href;
if (link.style.cssText) c = link.style.cssText;
}
function _click(e) {
link.removeEventListener(e.type, arguments.callee, false);
e.preventDefault();
}
function _keydown(e) {
var k = parseInt(e.keyCode);
if (k < 48 && k != 17) return;
document.removeEventListener(e.type, arguments.callee, false);
down = true;
link.removeAttribute('href');
link.setAttribute('style', c + 'cursor:text!important;');
link.addEventListener('click', _click, false);
}
document.addEventListener('keydown', _keydown, false);
link.addEventListener('mouseout',
function(e) {
var k = link.compareDocumentPosition(e.relatedTarget);
if (k == 20 || k == 0) {
checked = false;
} else {
link.removeEventListener(e.type, arguments.callee, false);
link.removeEventListener('click', _click, false);
document.removeEventListener('keydown', _keydown, false);
checked = true;
if (down) {
down = false;
link.setAttribute('href', h);
if (c == '') {
link.removeAttribute('style');
} else {
link.setAttribute('style', c);
}
}
}
},
false);
},
false);
})();
上述内容即为实现复制链接中部分文字的代码示例,希望读者能够善用此方法。