実際には、コピー貼り付けのものをシミュレートするために角度JSを使用してクリップボードの内容を取得しようとしていました。角度JSでクリップボードデータを取得する方法
答えて
ところで、次の操作を行い、クロームパッケージ化されたアプリケーションでクリップボードにコピーするアンギュラ使用している場合:
- はmanifest.jsonをで「権限」に「clipboardRead」と「clipboardWrite」を追加します。
- 使用のように、コントローラの$スコープに値を供給するために、あなたのビューでNGクリック: :データ-ngのクリック=「copyUrlToClipboard(file.webContentLink)」
は次のようにあなたのコントローラ内の関数を入れて
$scope.copyUrlToClipboard = function(url) { var copyFrom = document.createElement("textarea"); copyFrom.textContent = url; var body = document.getElementsByTagName('body')[0]; body.appendChild(copyFrom); copyFrom.select(); document.execCommand('copy'); body.removeChild(copyFrom); this.flashMessage('over5'); }
私はdocument.execCommand()メソッドを使用しているクリップボードにコピーのディレクティブを作成しました。
指令
(function() {
app.directive('copyToClipboard', function ($window) {
var body = angular.element($window.document.body);
var textarea = angular.element('<textarea/>');
textarea.css({
position: 'fixed',
opacity: '0'
});
function copy(toCopy) {
textarea.val(toCopy);
body.append(textarea);
textarea[0].select();
try {
var successful = document.execCommand('copy');
if (!successful) throw successful;
} catch (err) {
console.log("failed to copy", toCopy);
}
textarea.remove();
}
return {
restrict: 'A',
link: function (scope, element, attrs) {
element.bind('click', function (e) {
copy(attrs.copyToClipboard);
});
}
}
})
}).call(this);
Htmlの
<button copy-to-clipboard="Copy Me!!!!" class="button">COPY</button>
「Copy Me !!!!」以外のコピー方法 - 例えば、テキストエリアの内容など? – DaveC426913
コントローラでは、スコープ変数 $ scope.copyMe = ''を使用します。 を使用し、次のようにtextarea値にこのvarを使用します。
私はこれを使用しますコード、textarea.val(toCopy)はテキストエリアに何も追加しません(私のtoCopyはテキストhtmlです)。本文に追加すると、実際には[オブジェクトオブジェクト]が追加されます。それがどうなっているのか分かりません。 –
は、ここで私が使用して簡潔なバージョンです -
function copyToClipboard(data) {
angular.element('<textarea/>')
.css({ 'opacity' : '0', 'position' : 'fixed' })
.text(data)
.appendTo(angular.element($window.document.body))
.select()
.each(function() { document.execCommand('copy') })
.remove();
}
確かに簡潔に見えます。私はそれが動作することを理解することができたらいいと思う。私のためにコピーしません。 – DaveC426913
'angle.element()'には、* jQuery *ライブラリ全体を含めない限り、関数 'appendTo()'は含まれていません。 'select()'と同じです –
私は同じ問題を持っていた私は、角度-クリップボード機能を使用[1]私たち最新のブラウザで利用可能な新しいSelection APIとClipboard API。
まず、角クリップボードをインストールする必要があります。私はbowerを使用しています。
次のようにhtmlでモジュールをインポートします。これはクローム43+は、Firefox 41+、オペラ29作品、
angular.module('testmodule', ['angular-clipboard']);
を使用してクリップボードモジュールをロードし、コントローラで$スコープを使用して要素に
$scope.textToCopy = 'Testing clip board';
を値を設定する
<script src="../../bower_components/angular-clipboard/angular-clipboard.js"></script>
+およびIE10 +。
その単純な&は正常に機能しました。
[1] https://www.npmjs.com/package/angular-clipboard
おかげで、
- 1. 角度jsでrabbitmqを実装する方法
- 2. 角度jsで2つのテンプレートを通信する方法は?
- 3. 各軸の3D回転角度を取得する方法は?
- 4. 角度サービス(投稿、取得、削除)を開始する方法
- 5. 角度$の場所からホスト+ベースを取得する方法
- 6. 角度:app.configの後に$ routeProviderを取得する方法
- 7. 角度JS、ビュー
- 8. 角度-JSファイルアップロード
- 9. 角度Jsフライアウトメニュー
- 10. 角度jsエラー:[$ injector:unpr]
- 11. 角度js内のローカルENV変数にアクセスする方法
- 12. 要素の兄弟を取得する*角度*方法は何ですか?
- 13. 角度コントローラでEJSデータを取得
- 14. 角度材質モーダルでデータを取得
- 15. 角度js ionicでsoap requestを使用してxml応答を取得
- 16. 角型JS内のPHPファイルからjsonデータを取得する方法
- 17. CABasicAnimation現在の回転角度の取得方法
- 18. 角度JS「ルートは」%2F(「/」をコードする)
- 19. インテグレーションタイプcrypto-js角度2
- 20. 角度のJS構文エラー
- 21. 角度要素からコンパイルされたnodeValueを取得する方法
- 22. 角度の現在の象限を取得する最も速い方法
- 23. js角度ボタンホールドループが失敗する
- 24. 角度の変数値を取得
- 25. ジャイロから角度を取得
- 26. 角度角度からコントローラースコープにアクセスする方法
- 27. ajaxコンテンツへの角度js指示の適用方法は?
- 28. HTML5で緯度または経度を取得する方法
- 29. 角でサービスを名前でプログラムで取得する方法
- 30. 角度jsで選択可能なテーブルモーダルポップアップ
[角度が-zeroclipboard](https://github.com/lisposter/angular-zeroclipboard)、それはより良いよりも文書化されている非常にお勧め 'NG-clip' 。また、 'ng-clip 'を動作させることもできませんでした。 – Fedor
ng-clipは(少なくともいくつかの動作モードでは)ZeroClipboardに依存しており、私の場合は「クリップボードにコピー」機能を統合する方がずっと簡単です。私は[これらのいくつかのステップ](https://github.com/asafdav/ng-clip#usage)を実行して動作させました。 –