在gmail撰写邮件区域中获取选中/突出显示的文本html
我正在为Gmail设计Chrome扩展程序。 在此,我希望获得选定/突出显示的文本。 我试过以下代码:
if (!window.x) { x = {}; } x.Selector = {}; x.Selector.getSelected = function() { var t = ''; if($('.compose-container').getSelection){ t = $('.compose-container').getSelection(); alert(t); } else if (window.getSelection) { t = window.getSelection(); } else if (document.getSelection) { t = document.getSelection(); } else if (document.selection) { t = document.selection.createRange().text; } return t; }
它不是在撰写邮件时给我选择的文字。 请帮帮我。
您需要使用copy命令来实现此目的。
var copyText = document.execCommand('copy');
基本上它会复制浏览器中的任何文本选择。
您可以查看此链接 ,了解它是如何被充分利用的
根据gRenzFries的回答,我的代码与他提供的链接相同。 但是在代码中添加了少量内容以将其粘贴到文本框中。
代码复制文本:
var emailLink = document.querySelector('.gmail_default'); var range = document.createRange(); range.selectNode(emailLink); window.getSelection().addRange(range); try { // Now that we've selected the anchor text, execute the copy command var successful = document.execCommand('copy', true); } catch(err) { }
将其粘贴到文本框中的代码:
$('#text-to-display').val(""); //reset textbox value $('#text-to-display').focus(); //set focus to textbox document.execCommand("Paste");
此代码与预期一样有效。