Javascript 突出显示IFrame中的文本

Javascript 突出显示IFrame中的文本,javascript,jquery,html,Javascript,Jquery,Html,我正在尝试使用HTML、CSS和Javascript制作一个电子邮件签名生成器。我目前由一个表单和一个创建签名的按钮组成,用户在表单中输入他们的详细信息 单击按钮时,我让JS将用户输入的详细信息推送到HTML模板中,然后在同一页面上的IFrame中显示内容。我选择使用IFrame,以便签名样式与用于构建器页面的样式分开 现在,为了让用户更简单,我想添加一个按钮,突出显示IFrame的内容,然后将其复制到剪贴板,供用户粘贴到Outlook电子邮件签名中 我已经搜索过了,这似乎相当流行,但我不能突出

我正在尝试使用HTML、CSS和Javascript制作一个电子邮件签名生成器。我目前由一个表单和一个创建签名的按钮组成,用户在表单中输入他们的详细信息

单击按钮时,我让JS将用户输入的详细信息推送到HTML模板中,然后在同一页面上的IFrame中显示内容。我选择使用IFrame,以便签名样式与用于构建器页面的样式分开

现在,为了让用户更简单,我想添加一个按钮,突出显示IFrame的内容,然后将其复制到剪贴板,供用户粘贴到Outlook电子邮件签名中


我已经搜索过了,这似乎相当流行,但我不能突出显示IFrame的内容。关于我要做什么才能使这项工作成功,你有什么想法吗?

这里是一个在iframe中突出显示文本的JSFiddle

它不能复制iframe的内容,但应该可以帮助您继续。如果用户单击iframe,他们可以复制内容。如果我知道如何在不必单击iframe的情况下复制内容,我会让您知道。您可以从iframe中提取文本并将其放入当前文档中的临时隐藏表单中,但这似乎是一个混乱的解决方法


我设法弄明白我想做什么。非常感谢用户3333134帮助我走上正轨

这是一个演示我所追求的行为的例子。基本上,iframe中有一些html内容,我想复制这些内容,就像用户用鼠标选择它,然后将其复制到剪贴板一样

$(document).ready(function () {
    $('#iframe').contents().find('body').html('<p>Line 1</p><p>Line 2</p>');

    $('#click').click(function () {
        var iframe = $('#iframe')[0];

        var doc = iframe.contentDocument;
        doc.execCommand('selectAll');

        try {
           var successful = doc.execCommand('copy');
           var msg = successful ? 'successful' : 'unsuccessful';
            console.log('Copying text command was ' + msg);
        } catch (err) {
            console.log('Oops, unable to copy');
        }
    });
});

很接近,但我需要选择iframe本身的内容。iframe不包含任何用户输入字段,只包含html内容。我不认为您可以只选择普通的旧html,除非我缺少一些内容。我想说,黑客的解决方法是,当用户按下按钮时,从iframe中获取所需字段的html,将其设置为文本区域,然后自动选择文本区域并复制文本。可以从父文档中的iframe中提取文本,这样您就不必担心在iframe中选择文本。Dumb 5分钟编辑规则。。。这是JSFiddle。谢谢你的帮助,你写的不是我想要的,这可能是我不清楚的原因。但你确实帮我把这些点连起来了。
$(document).ready(function () {
    $('#iframe').contents().find('body').html('<p>Line 1</p><p>Line 2</p>');

    $('#click').click(function () {
        var iframe = $('#iframe')[0];

        var doc = iframe.contentDocument;
        doc.execCommand('selectAll');

        try {
           var successful = doc.execCommand('copy');
           var msg = successful ? 'successful' : 'unsuccessful';
            console.log('Copying text command was ' + msg);
        } catch (err) {
            console.log('Oops, unable to copy');
        }
    });
});