前段时间帮朋友做好的一个站,用的是框架,所以点击其它页面后,在地址栏里不会显示地址,而他们要将其中的网页发给客户看,因此今天要我把网站再改改,在地址栏能看到地址。我想如果再换结构,那页面好多,又是一项庞大的工程,于是就想增加一个复制网址的功能,让他们便于操作,能直接点击复制框架页面中的网址。然后我再在原来的js里加上判断自动将打开的页面转到首页并将嵌入页面加载为欲打开的页面。
今天晚上就在写这样一个复制网址到剪贴板的功能,刚开始先用alert来调试数据,一切正常:
[code]Copy Url[/code]
接下来就是写成JS函数来将数据复制到剪贴板:
[code]function copyToClipBoard()
{
var clipBoardContent=parent.mainFrame.document.title;
clipBoardContent += '
' + parent.mainFrame.location.href;
window.clipboardData.setData(“Text”,clipBoardContent);
alert(“成功复制到剪贴板!
内容如下:
“+clipBoardContent);
}
[/code]
写好后通过标签的链接来调用:
[code]Copy Url[/code]
发现调用时老是不成功,提示说缺少对象。起初以为自己写错哪个名称了,于是又上网找到一个视频网站,查看了其中的复制到剪贴板的功能的写法,发现没什么异常的,不过他是通过图片的onClick事件来调用函数的。我突然想到,我也用onClick试试?然后在标签的onClick事件里调用,果真成功了。
为什么用链接来调用自定义函数会不成功呢?我仔细看了下页面,突然发现,我用的是框架结构,链接都是在一个嵌入的Iframe里打开的,所以为了省事,我设了个Base属性: