Flash与JavaScript互动

最近做的一个项目需要用javascript来实现自动复制文本到剪切板,但测试时发现只有ie6.0支持。

到百度搜索后才发现,原来ie7.0、firefox是不支持这样的操作的,随后又搜索了一下,找到一个解决办法:

通过javascript调用Flash来复制文本到剪切板。

在HTML代码中需注意事项:

在OBJECT标签中,插入id="fcopy"
在EMBED标签中,插入name="fcopy"和swLiveConnect="true",确保没有使用id属性!

Flash代码:

//导入ExternalInterface类
import flash.external.ExternalInterface;
function copy(str){
System.setClipboard(str);
getURL("javascript:alert('已复制,请使用Ctrl+V粘贴出来')");
}

 


//允许js中的flAlert()调用flash中的showAlert()
ExternalInterface.addCallback("copy",null,copy);

HTML代码:

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" id="fcopy" width="1" height="1">
<param name="movie" value="flash/clipboard.swf">
<param name="quality" value="high">
<param name="swLiveConnect" value="true">
<embed src="flash/clipboard.swf" width="1" height="1" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" name="fcopy" swLiveConnect="true"></embed>
</object>

 

js代码:

var browser = new Object();
function getBrowser() {
var b = navigator.userAgent.toLowerCase();
browser = {
   safari: /webkit/.test(b),
   opera: /opera/.test(b),
   ie6: /msie 6/.test(b) && !/opera/.test(b),
   ie7: /msie 7/.test(b) && !/opera/.test(b),
   msie: /msie/.test(b) && !/opera/.test(b),
   mozilla: /mozilla/.test(b) && !/(compatible|webkit)/.test(b)
};
}
getBrowser() ;

//复制到剪切板
function copyCode(field) {

    field.select();

var text=field.value;

if(browser.ie6) {
   window.clipboardData.setData('text',text)
   alert('已复制,请使用Ctrl+V粘贴出来') ;
}
else
{
   flashCopy(text); //采用flash方式复制
}
}

//调用flash中的方法,"fcopy"为html页中swf的id
function flashCopy(text) {
thisMovie("fcopy").copy(text);
}
//搭建js与flash互通的环境
function thisMovie(movieName) {
if (navigator.appName.indexOf("Microsoft") != -1) {
return window[movieName]
}else{
return document[movieName]
}
}

 

posted @ 2015-06-17 12:51  personnel  阅读(378)  评论(0编辑  收藏  举报
友情链接:图片批量处理工具 gif动态图制作工具 制作电子相册 图片排版工具 制作淘宝主图视频 MKScript 鼠标键盘自动化脚本语言