这个问题与SO中有关复制到剪贴板的其他问题不同,因为我想在小书签中运行一个函数,然后将该结果复制到剪贴板。 而且,这可能没有外部库,并且在bookmarklet Javascript内部执行它?如何从没有外部库的Javascript小书签复制到剪贴板?
下面的小书签从当前页面创建一个HTML链接,然后打开一个新的浏览器选项卡,并将HTML链接放入可用键盘复制的文本区域。
但是,如何跳过打开窗口和复制的步骤,但直接进入剪贴板?通过使用document.execCommand('copy')
?其他方法?是否有可能做到这一点没有外部库,并与bookmarklet Javascript呢?
小书签,创建一个新的标签页链接:所谓h
javascript:function htmlEscape(s){s=s.replace(/&/g,'&');s=s.replace(/>/g,'>');
s=s.replace(/</g,'<');return s;} function linkEscape(s){s=s.replace(/&/g,'&');
s=s.replace(/"/,'"');return s} h = '<a href="' + linkEscape(location.href) + '" target="_blank">
<span class="tooltip" title="' + htmlEscape(document.title) + '">' + htmlEscape(document.title)
+ '</span></a>'; with(window.open().document){write(h+'<form name=f>
<textarea name=a rows=5 cols=80 wrap=hard>'+htmlEscape(h)+'</textarea></form>');
close(); f.a.select(); } void 0
我可以看到生成的HTML作为,它出现的部分,在一个变量:
javascript:function htmlEscape(s){s=s.replace(/&/g,'&');s=s.replace(/>/g,'>');
s=s.replace(/</g,'<');return s;} function linkEscape(s){s=s.replace(/&/g,'&');
s=s.replace(/"/,'"');return s} h =
我可以看到打开新窗口的那部分功能:
with(window.open().document){write(h+'<form name=f><textarea name=a rows=5
cols=80 wrap=hard>'+htmlEscape(h)+'</textarea></form>'); close(); f.a.select(); } void 0
我该怎么做w将函数的内容 - HTML链接 - 直接写入剪贴板?
可能的副本[从bookmarklet复制到剪贴板的文本](http://stackoverflow.com/questions/5046972/copy-text-to-clipboard-from-bookmarklet) – t0mm13b
投票关闭,因为这是[这个问题](http://stackoverflow.com/questions/5046972/copy-text-to-clipboard-from-bookmarklet)。在发布问题之前,请使用本网站上的搜索工具。 – t0mm13b
使用clipboard.js https:// clipboardjs。com/ – developernator