我正在为phonegap 平台使用javascript/mobile-jquery 接口开发一个应用程序。现在我在网上看到了很多尝试复制到剪贴板的例子,不幸的是它们都不适合我。我对浏览器中的功能不感兴趣,只要它在通过电话间隙转换后能够工作,我就很高兴。
我尝试过使用 Zeroclipboard,但没有成功,我尝试过使用剪贴板管理器也无法使其工作。我尝试过在 stackoverflow 上找到的许多其他示例,包括谷歌搜索,但它们仍然不起作用,这是我尝试过的示例:
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 等...
EDIT:
我尝试过的另一个例子是:
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 中无效。
EDIT:
这是我正在使用的 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>
在我的根文件夹中,我有:
- 一个名为 jquery 的文件夹,其中包含 jquery 脚本。
- 一个名为 res 的文件夹,其中有一个名为 xml 的文件夹,其中有一个文件
称为plugin.xml
- 一个名为 src 的文件夹,其中有一个名为 com 的文件夹,其中有一个
名为saatcioglu 的文件夹,其中有一个名为phonegap 的文件夹,其中
有一个名为clipboardmanager的文件夹,其中有一个名为
ClipboardManagerPlugin.java。
- 测试.html
- 剪贴板管理器.js
plugin.xml 的内容
<?xml version="1.0" encoding="utf-8"?>
<plugins>
<gap:plugin name="clipboardmanager" value="com.saatcioglu.phonegap.clipboardmanager.ClipboardManagerPlugin.ClipboardManagerPlugin" />
</plugins>
我做错了什么?