在Firefox中复制剪贴板

时间:2015-08-20 19:35:13

标签: javascript jquery firefox

我找到了适合

复制到剪贴板的源代码

IE:

"http://jsfiddle.net/azgugmjb/7/light/"

"https://jsfiddle.net/jsLfnnvy/12/"

" Copy to Clipboard using Chrome only"

但不适用于Firefox。

你知道Firefox复制到剪贴板的任何源代码吗?

我不想使用扩展应用程序或类似的。仅限源代码!

谢谢!

1 个答案:

答案 0 :(得分:0)

出于安全考虑,Firefox不允许以编程方式复制到剪贴板。你能想象如果有人输入了被复制到剪贴板的密码吗?然后任何地方的任何网站都可以读出该密码。 颤动

你可以在内部搞乱剪贴板,但这不会与操作系统剪贴板交互。 (参见MDN ClipboardEvent - 您可以使用MIME类型剪贴板!)。

(使用jQuery因为它很简单,不是因为它是必要的):

$(function(){
    $( ".copyable" ).click( function( e ){
        var clipboard = new ClipboardEvent( 'copy', {
            'dataType': 'text/plain',
            'data': $(this).text()
        } );

        $( 'input' ).val( clipboard.clipboardData.getData( "text/plain" ) );
    });
});

如果您运行下面的代码段并单击灰色大框,它会将文本内容复制到输入元素中。

$(function(){
    $( ".copyable" ).click( function( e ){
        var clipboard = new ClipboardEvent( 'copy', { 'dataType': 'text/plain', 'data': $(this).text() } );
        
        $( 'input' ).val( clipboard.clipboardData.getData( "text/plain" ) );
    });
});
.copyable{
    padding: 3em;
    
    background-color: #CCCCCC;
}

input{
    width: 95%;
    
    display: block;
    
    margin: 1em auto;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<div class="copyable">
    <p>Some text</p>
    <p>Some other text</p>
</div>

<input />

相关问题