1. 程式人生 > >AngularJS框架上實現複製連結功能

AngularJS框架上實現複製連結功能


由於瀏覽器的限制,複製功能無法統一實現,如谷歌瀏覽器更是不支援訪問系統的剪貼簿。

為了在網頁上實現複製功能,我從網上搜了一個方案,利用Flash來做中轉,實現複製功能。步驟如下:

一、前端HTML需要複製的框,以及複製連結按鈕

新增JS引用

<script type="text/javascript" src="/javascripts/jquery.zclip.min.js"></script>

新增地址框、複製按鈕

<input id="url" type="text" class="form-control" style="position:relative; top:0; left:0;height:35px;" placeholder="URL" ng-model="urlAddress">
<button id='copyUrl' class="copyUrl btn" style="position:relative; top:0; left:0; height:35px;" ng-click="copyFunction()">複製連結 </button>

二、這是後臺JS

<span style="white-space:pre">	</span>$(document).ready(function(){
		$scope.copyFunction = function(){
			$('#copyUrl').zclip({
				path: '/public/javascripts/ZeroClipboard.swf',
				copy: function(){
					return angular.element("#url").val();
				},
				beforeCopy: function(){
					
				},
		    	afterCopy: function(){
					
				}
			});
		}
	});
App.directive('initzclip', function ($timeout) {
    return {
        restrict: 'A',
        link: function(scope, element, attr) {
            if (scope.$last === true) {
                $timeout(function() {
                    scope.$emit('zclipofcopy');
                });
            }
        }
    };
});
三、新增ZeroClipboard.swf檔案,這個檔案網上有很多。