使用 javascript 复制到剪贴板以获取phonegap

2023-11-23

我正在为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>

在我的根文件夹中,我有:

  1. 一个名为 jquery 的文件夹,其中包含 jquery 脚本。
  2. 一个名为 res 的文件夹,其中有一个名为 xml 的文件夹,其中有一个文件 称为plugin.xml
  3. 一个名为 src 的文件夹,其中有一个名为 com 的文件夹,其中有一个 名为saatcioglu 的文件夹,其中有一个名为phonegap 的文件夹,其中 有一个名为clipboardmanager的文件夹,其中有一个名为 ClipboardManagerPlugin.java。
  4. 测试.html
  5. 剪贴板管理器.js

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): "Unless 明确地声明,大多数这些插件都会not开箱即用,可与 Cordova/PhoneGap 3.x.x 配合使用。它们需要更新才能通过plugin add界面。”

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 javascript 复制到剪贴板以获取phonegap 的相关文章

随机推荐

  • JCenter 弃用;对 Gradle 和 Android 的影响

    我应该担心吗JCenter被弃用 为什么我应该将我的库从JCenter到其他 Maven 存储库 我可以继续使用吗jcenter 在我的 Gradle 构建脚本中 Replace jcenter 有了这个 mavenCentral
  • 如何定义 shell 脚本变量使其具有脚本之外的作用域

    我正在使用 Ubuntu Natty 我有一个 shell 脚本 已保存到 etc init d qstart shell脚本包含以下内容 apt get y update apt get y upgrade apt get y insta
  • JQuery/Javascript 或其他方式静默打印仅一次

    任何人都知道如何在跨浏览器 API 或 jQuery 或 javascript 等库中打印文件而不显示打印预览 打印内容而无需打印预览 仅静音打印 打印一次 当打印软拷贝时 软拷贝就会过期 因为出于安全原因 我想避免用户重新打印不止一份软拷
  • 测试框架表示实体没有为内置实体定义键

    Castle Proxies IdentityUserLogin EntityType IdentityUserLogin has no key defined Define the key for this EntityType 我正在尝
  • 如何在 html5 canvas 中对齐文本?

    如何在 html5 画布中对齐文本以 对齐 在下面的代码中 文本可以左 右 中心对齐 我需要设置align justify 请建议如何做到这一点 HTML
  • 按更改类型过滤 git diff

    有没有办法限制git diff更改文件 我想查看两次提交之间的差异 但排除其中一个或另一个中不存在的路径 添加 删除 下面的 Perl 一行行说明了我想要的大部分内容 git diff master perl lnwe print unle
  • Spring Boot应用程序中环境特定的application.properties文件[关闭]

    Closed 这个问题需要多问focused 目前不接受答案 在我的 Spring Boot 应用程序中 我想创建特定于环境的属性文件 我的应用程序在 war 中的打包类型 我正在嵌入式 tomcat 中执行它 我使用 sts 并从 sts
  • WiX ServiceInstall - 将服务设置为以当前 Windows 用户身份运行

    我正在使用 WiX 安装 Windows 服务 如何使服务在运行安装程序的 Windows 用户上下文中运行 您需要拥有要运行服务的用户的帐户名和密码 我通过向安装程序添加自定义 UI 来要求输入用户名和密码 然后使用 ServiceIns
  • 了解私人设置者

    我不明白需要有从 C 2 开始的私有设置器 对我来说 有一个 setter 方法可以让用户在该类中设置一些变量 这样做时 我们不会将变量直接暴露给用户 相反 我们让他们通过这个公共 setter 方法来完成此操作 这对我来说是使用 封装 有
  • 在引用限定符上重载成员函数的用例是什么?

    C 11 使得基于引用限定符重载成员函数成为可能 class Foo public void f for when this is an lvalue void f for when this is an rvalue Foo obj ob
  • 使用 jQuery 制作动画时失去悬停(不移动鼠标)

    我有这行缩略图 我正在使用 jQuery 对其进行动画处理 每个缩略图都有一个悬停和活动类 它们工作正常 但是当我对列表进行动画处理时 鼠标光标下的新缩略图不应用悬停 每次点击后我都必须稍微移动鼠标吗 这有点难以解释 我在这里做了一个小提琴
  • synaptic js lstm rnn 算法的简单示例

    没有一个真是太疯狂了非常简单LSTM RNN 预测时间序列数据的示例 https github com cazala synaptic https github com cazala synaptic wiki Architect lstm
  • Android(三星 S4)HTML5 视频暂停

    我正在使用 Android Webview 播放 html5 视频 包括 Youtube 视频 我自己的标签和 Youtube 嵌入的 iFrame 我在使用 Samsung Galaxy S4 时遇到了问题 具体情况如下 播放视频 视频播
  • android sqlite检查是否插入新值

    我正在使用 sqlite 我成功创建了数据库和表 我还编写了可以在表中插入新值的代码 我的代码工作完美 但现在我想显示例如 如果插入新值则显示 toast 消息 否则在 toast 或其他内容中显示错误消息 这是我插入表的源代码 publi
  • 调试asp.net突然停止

    我有一个奇怪的错误 我正在调试一个 asp net 站点 突然它停止了 Visual Studio 保持调试模式 我的 Web 应用程序保持正常运行 我发现this发布 但我不认为后台线程导致了这个问题 代码周围甚至有一个 try catc
  • 查找给定素数之后的 n 个素数,而不使用任何检查素数的函数

    如何编写一个程序来查找给定数字后面的n个素数 例如100 后的前 10 个素数 或 1000 后的前 25 个素数 编辑 下面是我尝试过的 我以这种方式获得输出 但是我们可以在不使用任何素性测试函数的情况下做到这一点吗 include
  • jQuery DataTables 按 2 列排序

    我在用jQuery 数据表为我的一张桌子设计样式并提供功能 My Goal 根据资金类型是否活跃进行排序 正如您所看到的 这就是它目前正在做的事情 现在 我想订购Funding按字母顺序排列 所以我想要的结果应该是 Funding One
  • 为什么我每次使用 mingw gcc4.8.1 运行 std::random_device 都会得到相同的序列?

    我使用以下代码来测试C
  • ASP.NET Core Identity 模拟特定用户

    假设我有以下角色 Admin User 我希望管理员角色用用户角色模拟特定用户帐户 但不知道该特定用户帐户的密码 管理员应该能够模拟应用程序中的任何用户 并能够以用户本人的身份浏览应用程序 我找到了一个链接这实际上是在 ASP NET MV
  • 使用 javascript 复制到剪贴板以获取phonegap

    我正在为phonegap 平台使用javascript mobile jquery 接口开发一个应用程序 现在我在网上看到了很多尝试复制到剪贴板的例子 不幸的是它们都不适合我 我对浏览器中的功能不感兴趣 只要它在通过电话间隙转换后能够工作