现有一个htmlarea中间加载着jsp文件,显示出来就是jsp呈现的内容。我想在js中做个复制按钮到邮件中粘贴能保持原格式,应该如何去做?还有问题就是我在htmlarea中ctrl+a后ctrl+c,然后分别在文本和邮件中粘贴。文本中的内容是普通格式的(没有任何jsp的特征),而在邮件中的格式就能保持jsp原先的样式,这是为什么。难道windows中的复制有灵异?希望一方面解释一下,另一方面提供一些可以提供保持样式复制的代码。

解决方案 »

  1.   

         在补充一下,大家有没有试过,在网页上大面积复制内容后粘贴到word或者邮件中的格式依然能基本保持原页面的格式。为啥~!
      

  2.   

    个人理解 windows复制其实是带上格式了的
    接收方要不要格式是他的事情
    当然如果你的页面的外链css定义的样式 复制是不会带上的其次js中的clipboardData exeCommand 只是在IE才起作用的
      

  3.   

    复制功能我打算用ZeroClipboard.swf这种方式复制,它支持全浏览器(只要浏览器有flash)。
    现在问题就是无法对该呈现的内动进行复制。我复制的源取自div下的innerText以及textarea都试过了,粘贴到哪都有html的标签,或者jsp的格式丢掉了。
      

  4.   


    复制功能我打算用ZeroClipboard.swf这种方式复制,它支持全浏览器(只要浏览器有flash)。
    现在问题就是无法对该呈现的内动进行复制。我复制的源取自div下的innerText以及textarea都试过了,粘贴到哪都有html的标签,或者jsp的格式丢掉了。
      

  5.   

    首先 js的innerText也是只有IE支持 innerHTML都支持,如果你说的是flash中的可以忽略
    为了兼容用flash是对的
    至于网上有什么样成熟的flash 没做过没去了解
    但是你可以去网上搜一下 js 赋值 兼容 应该会有解决方案的至于你说的格式丢失 我不知道你是丢失了什么
    1.邮件是支持html及style样式的
    2.当然如果你的页面的外链css定义的样式 复制是不会带上的
      

  6.   

       首先我非常感谢你很耐心的解答我的问题。
    我遇到的是这个问题:
       我在htmlarea一个文本框中include一个jsp,他在网页上显示是正常的jsp效果而不是jsp代码。
       我要做的就是一个按钮完成复制其中的内容到一个outlook,或者网页上的邮件中。所以肯定不能是复制jsp代码,对吧。
       我的复制功能是OK的我也测试过了所有浏览器,但问题是由innerText(ie),textContext(fire fox)获取的都是jsp代码,而不是在网页上ctrl+c的效果。
       不知道你能不能理解我的意思。    
      

  7.   

    首先 你获取到都是html(不是jsp)是吧
    然后 你到底要还是不要标签呢?
    如果是纯文字不要标签 就用正则过滤掉
    但是如果你不想要标签 你又要想复制过去后保持格式怎么行呢?
      

  8.   

    亲。你不要用innerText,用innerHTML就可以了。innerText只有文本。innerHTML有格式。
      

  9.   


    这样的,我要的就是有样式的复制。我有一个jsp我把它include到HTMLarea中,然后有一个复制按钮可以把jsp的内容复制到outlook中。有没有标签不是我关心的,只要实现就行。并且,innertext,innerhtml,以及textcontext我都试啦。我要的就是windows复制网页到word或者outlook中有一定样式的的效果。