php 复制到剪切板,兼容多种浏览器”复制到剪贴板”的解决方案
方案一:利用“window.clipboardData”
代码示例:
if (window.clipboardData) {
window.clipboardData.clearData();
window.clipboardData.setData("Text", txt)
};
问题:这个方案只对IE浏览器适用。
方案二:利用“Components.interfaces.nsIClipboard”
代码示例:
if (window.netscape) {
try {
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
} catch (e) {
if (flag == 0) {
alert("You are using the Firefox browser, copy the function browser refuse!
\nPlease in the browser address bar enter'about:config' and Enter \n and set'signed.applets.codebase_principal_support' to 'true'");
} else {
alert("你使用的是Firefox 浏览器,复制功能被浏览器拒绝!\n请在浏览器地址栏输入'about:config'
并回车\n然后将'signed.applets.codebase_principal_support'设置为'true'");
}
}
var clip = Components.classes['@mozilla.org/widget/clipboard;1'].createInstance
(Components.interfaces.nsIClipboard);
if (!clip)
return;
var trans = Components.classes['@mozilla.org/widget/transferable;1'].createInstance
(Components.interfaces.nsITransferable);
if (!trans)
return;
trans.addDataFlavor('text/unicode');
var str = new Object();
var len = new Object();
var str = Components.classes["@mozilla.org/supports-string;1"].createInstance
(Components.interfaces.nsISupportsString);
var copytext = txt;
str.data = copytext;
trans.setTransferData("text/unicode", str, copytext.length * 2);
var clipid = Components.interfaces.nsIClipboard;
if (!clip)
return false;
clip.setData(trans, null, clipid.kGlobalClipboard);
}
问题:这个方案只适合Firefox,同时也有安全问题,如果想使用这个方法,必须手动开启Firefox的一个配置:signed.applets.codebase_principal_support。方法是:在地址栏输输入“about:config”,设置“signed.applets.codebase_principal_support”为true,默认该项是false。
把这个方案和方案一结合,可以解决IE和Firefox浏览器的相对兼容。
方案三:利用隐藏的flash
代码示例:
var clipboardswfdata;
var setcopy_gettext = function(){
clipboardswfdata = document.getElementById('data').value;
window.document.clipboardswf.SetVariable('str', clipboardswfdata);
}
var floatwin = function(){
alert('copy success, ' + clipboardswfdata);
}
点此复制到剪贴板
body {font-size:12px;}
.clipinner {position:relative;}
.clipboardswf {position:absolute; left:0; top:0;}
利用一个clipboard.swf作为桥梁,复制内容到剪贴板。原理是:创建一个隐藏的flash文件,通过onmouseover 事件往 flash 中传递数据。
演示地址:
http://www.lsproc.com/demo/clipboard/demo.html
这个方法兼容IE、Firefox、Opera、Chrome、 Safari和Flash10,真可谓万能的解决方案。浏览器Flash的安装率非常高,这几乎是一个完美的解决方案。
php 复制到剪切板,兼容多种浏览器”复制到剪贴板”的解决方案相关推荐
- 将内容复制到剪切板兼容主流浏览器的解决方案
html : <body><div class="demo-area"><label for="copy-input">输入 ...
- 微信小程序之一键复制到剪切板
最近在开发小程序项目里遇到一个小难题-----一键复制 在网页开发里 我们可以引用大牛封装好的复制插件,比如无flash插件clipboard.js适用移动端,pc端------- 言归正装,打开微信 ...
- Android 复制到剪切板功能
Android 复制到剪切板功能-------------- 1.复制到剪切板会使用ClipboardManager,在SDK版本为11前后使用的包不一样.一个是android.text(已弃用),一 ...
- 网页内容复制粘贴(三种方案 兼容多种浏览器)
tags: js ctrl+c 网页内容复制粘贴(三种方案 兼容多种浏览器) 对网页上的内容实现复制粘贴的功能 痛点:需要支持多种不同的浏览器 主要有IE,Firefox IE浏览器下的解决方案: w ...
- 监听浏览器复制粘贴事件开箱即用的复制到剪切板
监听键盘ctrl+c ctrl+v area.onkeydown = (event) => { if (event.ctrlKey) {if (event.keyCode == 67) {ale ...
- 关于使用js复制到剪切板的兼容性写法
// 复制到剪切板 async function copyHandler(text) {try{if(navigator.clipboard && window.isSecureCon ...
- html数据复制到剪切板
一.原生js指令复制 function copyUtil(info) {var $textArea = $('<textarea></textarea>');$textArea ...
- uniapp 复制到剪切板 四端适配
记得很早的时候实现过一次,只不过那次是 纯 vue 实现的 h5+,但是想用在 uniapp中 还是不行.有些地方不能用!不过在 App 中的方法还是可以使用的: Vue 复制内容到系统剪切板_唐僧的 ...
- 微信小程序复制到剪切板及换行问题
wxml <textarea type="text" v-model="copyContent" placeholder="请输入内容" ...
- js框架jquery实现的幸运大转盘抽奖程序代码,兼容多种浏览器(Internet Explorer 6.0+ 、Firefox 2.0 、Safari 3 、Opera 9 、Chrome)
博客目录 js框架jquery实现的幸运大转盘抽奖程序代码 实现功能截图 系统功能 使用技术 代码 写在最后 js框架jquery实现的幸运大转盘抽奖程序代码 本系统实现了一个幸运转盘抽奖,兼容多种浏 ...
最新文章
- mn之间的回文数c语言,c语言描述回文数的三种算法
- java代码如何能运行起来_Java代码如何运行
- windows mobile设置插移动卡没反应_ETC不用时,能不能把卡拔下来
- 真不值!技术大神,却只是阿里P6...
- 前端学习(639):undefine和null
- 查看Linux服务器运行级别命令,linux命令1、如何查看当前的Linux服务器的运行级别?...
- sbt 地址修改备注
- [Erlang 0026] 目前最优的Erlang IDE
- 计算机控制技术课程设计温度控制系统,计算机控制技术课程设计PWM温度自动控制系统的设计...
- 2017全国省市区县 json数据
- 低代码平台表单引擎技术方案选型
- 洛谷P4556 [Vani有约会]雨天的尾巴
- 77. Combinations
- 非常简单的四子棋【java编写】
- 第一章 ESP32 PlatformIO IED开发环境搭建
- python计算学习,《统计学习方法》的Python实现:(1)感知机
- 什么是软路由和硬路由,两者的区别有什么?
- 洛谷算法题单:模拟与高精度例题(上)
- zTree的简单用法
- 在 cfx-solver 的 monitor 中'normal force' 与 'tangential force' ,'normal momen' 与 'tangential moment' 意义
热门文章
- 10个优秀个android项目,精选|快速开发
- 峰值信噪比公式_关于 PSNR (Peak Signal-to-Noise Ratio) 峰值信噪比的个人理解
- 图像的峰值信噪比(PSNR)的计算方法
- 独家 | 利用滴滴出行数据透视中国城市空间发展(附视频PPT)
- 连续变量的描述统计与SPSS实现
- Python在线编辑器推荐
- 步进电机正反转实验_电机正反转电路图讲解
- 云课堂让职业院校Web前端教学更简单
- mac安装旺旺启动台找不到_如何正确安装和卸载Mac软件?
- excel函数:VLOOKUP+IF多条件匹配取值(数组函数)