![](/img/trans.png)
[英]Copy to Clipboard Functionality in Javascript/PhoneGap Application
[英]Copy to Clipboard with javascript for phonegap
我正在使用javascript / mobile-jquery接口為phonegap平台開發一個應用程序。 現在我在網上看到了很多試圖復制到剪貼板的例子,不幸的是它們都沒有為我工作。 我對瀏覽器中的這個功能不感興趣,只要它通過電話間隙轉換后就能正常工作我很高興。
我曾嘗試使用zeroclipboard,它沒有鍛煉,我試過使用剪貼板管理器無法讓它工作。 我已經嘗試了很多其他的例子,我在stackoverflow上找到了這些例子,包括google搜索,但它們仍然無法正常工作,這是我嘗試過的一個例子:
window.plugins.clipboardManager.copy(
"the text to copy",
function(r){alert("copy is successful")},
function(e){alert(e)}
);
我已經包含了js文件:
<script src="src/clipboardmanager.js"></script>
我在文件夾結構中也有java文件: src\\com\\saatcioglu\\phonegap\\clipboardmanager\\ClipboardManagerPlugin.java
從我讀過的內容來看,我需要包含一個xml文件才能正常工作,但就我而言,我無法在任何地方找到該XML文件。
任何幫助都非常感謝。
注意:我的應用程序不需要任何權限,如相機,GPS等...
編輯:
我試過的另一個例子是:
function select_all(obj) {
var text_val=eval(obj);
text_val.focus();
text_val.select();
if (!document.all) return; // IE only
r = text_val.createTextRange();
r.execCommand('copy');
}
這適用於IE,但不適用於Phonegap。
編輯:
這是我正在使用的html / javascript:
<html>
<head>
<title>Test</title>
<link rel="stylesheet" href="jquery/jquery.mobile-1.3.1.min.css" />
<script src="jquery/jquery-1.9.1.min.js"></script>
<script src="jquery/jquery.mobile-1.3.1.min.js"></script>
<script src="clipboardmanager.js"></script>
<script>
var cbm = new window.plugins.clipboardManager;
function main(textMessage)
{
//Some Code before this (calculations)
cbm.copy(
"Success!!!",
function(r){alert("copy is successful")},
function(e){alert(e)}
);
}
</script>
</head>
<body>
<div data-role="page" id="main" name="main">
<div data-role="header">
<h1>Test</h1>
</div><!-- /header -->
<div data-role="content">
<form action="javascript:main(encryptedMessage.value);">
Message to be Copied:
<textarea id="encryptedMessage" name="encryptedName" rows="6" style="width:99%;"></textarea>
<input type="submit" value="Encrypt" />
</form>
</div>
</div>
</body>
</html>
在我的根文件夾中,我有:
plugin.xml的內容
<?xml version="1.0" encoding="utf-8"?>
<plugins>
<gap:plugin name="clipboardmanager" value="com.saatcioglu.phonegap.clipboardmanager.ClipboardManagerPlugin.ClipboardManagerPlugin" />
</plugins>
我做錯了什么?
首先:IE選項不適用於Android,因為PhoneGap使用Webkit(想想:Safari和/或Chrome)。
無論如何...
您要查找的文件(在項目目錄的“/ res / xml /”子目錄中)被調用
config.xml
在那里,你必須告訴phonegap在編譯時加載插件,就像這樣......
<gap:plugin name="whatever" value="com.example.whatever" />
如果你不這樣做,phonegap將不會在編譯時包含插件,導致你的插件無法工作(因為它在編譯的apk中不存在)。
我還沒有使用過ClipboardManagerPlugin,但根據文檔,它應該有點像這樣:
<gap:plugin name="clipboardmanager" value="com.saatcioglu.phonegap.clipboardmanager.ClipboardManagerPlugin.ClipboardManagerPlugin" />
請注意,您應該檢查您正在使用的PhoneGap版本以及該插件是否兼容。 萬一你不知道它:並非所有插件都已更新,以便與PhoneGap 3.x一起使用。 引用Github上的自述文件(https://build.phonegap.com/docs/plugins-using) : “除非明確說明,否則大多數這些插件都不適用於Cordova / PhoneGap 3.xx開箱即用。他們將需要更新才能通過plugin add
界面使用它們。“
e-sushi的說明對我來說並不適用。
為了讓插件運行,我使用了以下命令:
phonegap local plugin add https://github.com/VersoSolutions/CordovaClipboard
然后在JS中添加以下命令:
cordova.plugins.clipboard.copy(text);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.