其实是clipboard hijacking技术罢了。
主要内容是在content-min中: <
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | KISSY.ready(function (c) { var i = "textarea", b = "\u7981\u6b62copy!", g = c.Event, f = document, d = f.body, h = c.DOM, e = c.Node, a = new e(d.appendChild(h.create("<" + i + ' style="position:absolute;left:-9999px;">' + b + "</" + i + ">"))); g.on(document, "contextmenu", function (j) { j.halt() }); g.on(document, "keydown", function (l) { var m = l.keyCode; if (m === 67 && (l.ctrlKey || l.metaKey)) { var j = new c.Selection(f), k = j.getRanges()[0]; a[0].focus(); a[0].select(); setTimeout(function () { k.select() }, 0) } }); d.appendChild(document.createTextNode("\u6211\u662f\u5185\u5bb9\uff0c\u4f60\u53ef\u4ee5copy\u6211\u770b\u770b\uff01")) }); |
适用于所有浏览器,google Docs也是使用的这种技术。
例子可以在http://lite-ext.googlecode.com/svn/trunk/lite-ext/playground/no-copy/no-copy.html找到
Opera
选择文字内容,点击“菜单”-“网页”-“复制”
轻松搞定。
@MF, 只是禁掉ctrl+c这样的了,嗯
@janxin, 莫非我犯规了…
在开启JS的情况下确实很无奈,右键都禁用了ORZ
对付这种代码同LS毫无压力
@小明猪,
禁止掉script就什么都有了
@janxin, 没有最强大的代码,只有最强大的浏览器…
花花花~~
@卜卜口の,
话说防止复制什么的不都是徒劳么>_<
尽量有一些偏门的技术也不错嘛,反正别人也看不懂
会不会对搜索引擎不友好?
@睿智小超人, 对搜索引擎来说应该是十分不友好,不过这只是用来保护敏感内容的,还好还好