- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 JavaScript 重新创建(或“伪造”)Skype 报价。因此,我需要将 XML 字符串推送到剪贴板,格式为“SkypeMessageFragment”。警报显示效果很好,但使用 ClipView 调查剪贴板仅显示一个字符 (<),尽管文本/纯文本内容是正确的。
原因可能是内容的类型,它应该是 MemoryStream(但这当然不可能用 JavaScript),解释了 here .
有没有人知道如何解决这个问题,或者当时不可能?
document.addEventListener('copy', function(e) {
var msg = $('#msg').val();
var name = $('#name').val();
var date = $('#date').val();
var time = moment(date, 'MM/DD/YYYY h:mm a').valueOf();
var skype = '<quote author="'+name+'" timestamp="'+time+'">'+msg+'</quote>';
var locale = 1033;
e.clipboardData.setData('text/plain', msg);
e.clipboardData.setData('SkypeMessageFragment', skype);
console.log('Copy');
alert(e.clipboardData.getData('SkypeMessageFragment'));
e.preventDefault();
});
最佳答案
我假设您使用的是 Windows,因为(据我所知)Skype 报价不适用于其他操作系统。
首先,您的代码将无法在 Chromium 中运行,因为它以名为 Chromium Web Custom MIME Data Format
的特殊类型序列化所有剪贴板数据。 ,而 Skype 获取 SkypeMessageFragment
类型。
那么让我们看看 Firefox 的行为。我用过 Free Clipboard Viewer检查 Firefox 正在存储的数据,以及 text/plain
输入一切都很好。但这就是我对 SkypeMessageFragment
的看法输入:
从第一个字节,我们可以推断编码是 UCS-2 with Little Endian,这是一致的,因为 JavaScript 引擎在内部以 UCS-2 格式存储字符串。我们还可以看到最后一个字节是空字节。
这就是为什么您只看到 <
的原因,因为下一个字节是空字节,所以您的软件可能认为该字符串已终止。
现在,如果我们对真实的 Skype 报价执行相同的操作,我们可以看到 Skype 使用的是 UTF-8,没有尾随空字节。所以它期望剪贴板中有一个 UTF-8 编码的字符串,这就是为什么你的引用没有按预期工作。
我们可以尝试使用那段代码强制使用 UTF-8 格式:
function usc2_to_utf8(usc2_string) {
utf8_string = "";
for (var i = 0; i < usc2_string.length; i += 2) {
var codePoint = 0;
codePoint += usc2_string.codePointAt(i + 1);
codePoint <<= 8;
codePoint += usc2_string.codePointAt(i);
utf8_string += String.fromCharCode(codePoint);
}
return utf8_string;
}
该技巧将数据以 UTF-8 格式存储在剪贴板中:
但这还不够。引用出现在文本区域中,就好像它是由 Skype 制作的一样,但如果您发布它,Skype 将无法识别该引用。我想这与我未能删除的字符串末尾的 2/3 个空字节有关。
另外,请注意 Firefox might change how it handles custom clipboard types很快。
您可能想使用 Flash,但 Flash 也会失败,因为 it will prefix all the custom types .
我不知道 Java 小程序等其他扩展如何与剪贴板一起使用,但我的猜测是您不想强制用户安装任何东西,所以恐怕没有解决方案。
关于javascript - 使用 JavaScript 重新创建 Skype 报价,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32203443/
我正在尝试向网页添加链接或按钮,以便用户可以在安装了 Skype 后直接调用号码。似乎链接就像 skyp:....?打电话.... 但找不到任何样本或文件。谢谢你的帮助。 最佳答案 这是链接的格式:
是否可以在 Skype 聊天窗口中显示图像? (Windows 7 Skype 客户端) 最佳答案 您可以使用 Windows 桌面客户端(而非 Windows Modern)共享您的桌面,或将图像(
已关闭。这个问题是 off-topic 。目前不接受答案。 想要改进这个问题吗? Update the question所以它是on-topic用于堆栈溢出。 已关闭10 年前。 Improve th
是否可以在 Skype 聊天窗口中显示图像? (Windows 7 Skype 客户端) 最佳答案 您可以使用 Windows 桌面客户端(而非 Windows Modern)共享您的桌面,或将图像(
我们能否在网站中集成 Skype API,以便用户可以使用 Skype 与网站管理员交谈?用户为此需要 Skype 用户名吗?有没有网站已经有这样的功能? 最佳答案 你可以放一个Skype butto
我需要制作一个能够调用地面电话(显然是通过 Skype)并记录对话的 Web 应用程序...任何想法,我从哪里开始? (是的,已经尝试过 google :) )可以用 php 完成吗? 谢谢! 最佳答
是否可以对网站进行编程,使其禁止 Skype 在电话号码旁边添加它的图标? 谢谢,斯蒂芬 最佳答案 您可以在页眉中添加: 详情在skype forum 关于skype - 禁止 Skype 在电话号
有没有办法让所有用户 friend 都使用 C# 使用 Skype?还有我怎样才能活跃起来(在线 friend )。 最佳答案 首先,您必须在项目的 COM 引用选项卡中添加对 SKYPE4COMLi
我正在使用 Skype 应用程序的开放 URL 从我的 iOS 应用程序调用特定用户。但是下面的代码只是打开 Skype 但不会调用指定的用户名。 任何人都可以指导我为什么它不调用。 - (IBAct
我正在尝试运行随新 SKYPE SDK 分发的 Web 示例。我没有本地 Lync 服务器,所以我使用站点提供的域和 token 登录。 Domain=metio.net Token= Bearer
根据这个 Skype 开发者页面: https://dev.skype.com/skype-uri/skype-uri-tutorial-webpages看来我可以从我的网页启动 Skype 聊天对话
我知道使用 https://www.skype.com/en/developer/create-contactme-buttons/ 添加 Skype 链接很容易.但是可以为 SkypeForBusi
因为我们可以选择通过提供 URI 在 Skype 中打开链接: skype:xyz?call 我们可以做一些类似的事情来实现相同的功能,但它会在 Skype for Business 中打开吗?请告诉
我们使用一个持久的 Skype for Business 聊天室,并用它来广播每天在特定项目上完成的工作。我想在每个工作日早上启动 Skype for Business 并将其打开到这个聊天室。我想使
全部, 如果您安装了 Webex 生产力工具并安装了 Skype,它会添加一个窗口装饰,您可以从中单击一个按钮,它会自动将一个新的 Webex session 链接粘贴到对话框中。 我想为我的应用程序
我在单击按钮时使用 Skype 从我的 Android 应用调用。下面是启动 Skype Intent 的代码: Uri skypeUri = Uri.parse(uri.toString()); I
每个人, 在网上搜索,但没有找到任何描述信息的文章。谁能告诉我是否可以使用 Skype For Web SDK 录制电话、视频和消息? 抱歉,我没有演示任何代码,因为我没有找到任何东西,所以保持简短。
我需要找到一种无需 API 即可从 Skype 读取所有联系人和聊天消息的方法。 Microsoft 将不再支持 Skype API。这就是我需要它的原因。在 C:\Documents and Set
Skype 如何在 imo.im 和 im+ 服务中工作?有什么猜测吗? 我认为只有3种方式: 为服务器上的每个连接客户端运行多个 Skype 客户端副本 为服务器上的每个客户端从 SkypeKit
我见过使用“Skype”进行机器人编程的例子。是否可以使用 Microsoft 的机器人/认知服务工具/框架开发在“Skype for Business”上运行的企业机器人? 最佳答案 Bot Fra
我是一名优秀的程序员,十分优秀!