2015-12-13 4 views
1

Ниже мой код «копировать в буфер обмена» все workingfine с исключением ее не работает на сафари браузер ... пожалуйста, помогитеКопировать в буфер обмена не работает в сафари

<textarea id="mcq1" style="width:1px; height:1px; opacity:0; position:absolute;"> 
    <iframe src="http://s.rabblerapp.com/widget/widget.php?raw_uuid=de8c6880-9624-4b1d-8905-a3e2ab290660" style="width:100%;height:635px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0" vspace="0" hspace="0"></iframe> 
</textarea> 

<button class="rb_mcqbtn btn" data-clipboard-action="copy" data-clipboard-target="#mcq1" onclick="show_area('copied');">Copy Embed Code</button> 

Это Javascript я должен использовать для этого ... https://zenorocha.github.io/clipboard.js

+0

привет, если я дать код, чтобы скопировать текст без какой-либо плагин будет работать для вас – Tanmay

+0

@Tanmay Да будет –

+0

It появится [Safari 10] (https://developer.apple.com/library /prerelease/content/releasenotes/General/WhatsNewInSafari/Articles/Safari_10_0.html) теперь поддерживает 'document.execCommand (« copy »)', так что теперь clipboard.js должен работать в новейшем Safari. – jfriend00

ответ

2

Я имел взгляд на их сайт ..

посмотреть здесь: link

Эта библиотека основана на API-интерфейсе Selection и execCommand. Второй вариант поддерживается в следующих браузерах.

изображения здесь .....

Хотя копировать/вырезать операции с ExecCommand не поддерживаются в Safari все же (в том числе мобильных), она изящно деградирует, потому что выбор поддерживается.

1

Я согласен рассмотреть их документы и создать решение, которое будет работать для вас, но это то, что я придумал как простой резерв. Позволяет вам не использовать стороннюю подвыпительную библиотеку. Я просто переключаю целевой текст.

 

    var CopytoClipboard = new Clipboard('.clipboard-copy'); 
    CopytoClipboard.on('success', function(e) { 
     var $target = $(e.trigger); 
     var oText = $target.html(); 
     $target.html("Copied!"); 
     setTimeout(function() { 
     $target.html(oText); 
     }, 800); 
    }); 
    CopytoClipboard.on('error', function(e) { 
     var $target = $(e.trigger); 
     var oText = $target.html(); 
     $target.html("Press ⌘C to copy"); 
     setTimeout(function() { 
     $target.html(oText); 
     }, 3000); 
    });