掌上百科 - PDAWIKI

用户名  找回密码
 免费注册

QQ登录

只需一步,快速开始

查看: 596|回复: 6

[求助] 【完成】点击复制

[复制链接]
  • TA的每日心情
    开心
    2019-5-28 07:39
  • 签到天数: 339 天

    [LV.8]以坛为家I

    发表于 2021-3-17 12:17:02 | 显示全部楼层 |阅读模式
    本帖最后由 leescott 于 2021-3-20 18:05 编辑
    8 M( |" Z6 K3 e* K/ m: X* e: R2 D, Z! B
    做了个词典。- `' N  g, [( K5 A
    有一点点不满意,想做成点击复制,就是点击复制粗括号里面的内容,一次一个。
    ' [' N+ i1 E- O! w7 s/ y( X, K一个页面有一个的。或者索引页有八百个左右。+ Y! I$ U7 e/ f" |
    谢谢!
    . W9 @2 w* W( N% M" f) K3 ?6 \+ r% j* W
    【归国留学生】        1997<br>% u5 z  x0 u, S( ?
    【男婚女嫁】        1997<br>" E3 O- r- I: G/ m, K. N
    " o8 y1 k6 ^+ _# B7 t
    部件查询有个复制,他是在出来的文字上点击。脚本比较复杂,外行晕了。
  • TA的每日心情
    开心
    2019-8-21 08:44
  • 签到天数: 163 天

    [LV.7]常住居民III

    发表于 2021-3-20 11:13:15 | 显示全部楼层
    本帖最后由 mikeee 于 2021-3-20 11:31 编辑 5 S+ I% @7 [0 L1 {2 K+ P: R+ Q2 W

    ' O% \# u/ R+ `; S
    1. <!DOCTYPE html>
      ; T: n6 z9 X# f  M" m2 l
    2. <html>" y5 C8 t$ Z! R, k+ e7 W% |  a2 ~
    3. <body>% J* g# d6 _$ }/ D0 U
    4. / c% _7 Q) ~/ b6 }" t% D5 L
    5. <p>Click on the button to copy the text from the text field. Try to paste the text (e.g. ctrl+v) afterwards in a different window, to see the effect.</p>
      * ^; s6 k5 D/ m
    6. , a6 F) p( U$ e* j
    7. <div id="id1">  id1 text  <button onclick="copyTextFromElement('id1')">Copy text</button> </div>
      7 j/ c! b' |4 S  k( H2 _
    8. 5 G3 V; y) V/ T3 U" Z/ F: o' h0 T; w
    9. <div id="id2">  id2 text2  <button onclick="copyTextFromElement('id2')">Copy text2</button> </div> " X7 S1 d5 P2 Y1 j  ?

    10. , Y- |5 ^0 }) C. B6 K- Q% S3 L
    11. 0 x6 O8 U. Y' ^7 Z+ O! ^% y1 P
    12. <script>6 K, U# |  f$ X6 J7 N( g7 `
    13. function copyTextFromElement(elementID) {
      / h9 g9 j9 ?6 k0 C  Z: Z
    14.   let element = document.getElementById(elementID); //select the element
      8 E6 y& @. w! z
    15.   let elementText = element.textContent; //get the text content from the element/ n" y' B! d+ h: a- G  A+ H
    16.   copyText(elementText); //use the copyText function below2 b3 }' k% _* V; u. A% @3 X
    17. }
      5 F6 G: H1 a* b  A
    18. function copyText(text) {
      3 \) i2 K, }; ]; [: R# h' k# b
    19.   navigator.clipboard.writeText(text);1 k0 T+ W, b2 z, e1 O& G
    20. }/ u' O1 @( o0 R5 S% ^+ I" i* |
    21. </script>
      ! N0 [8 C% ?7 Y" V' y( \

    22. # K3 b( J/ o2 ^. T  L. T
    23. </body>
      , Q/ e5 k* P. M1 R: [) P
    24. </html>
    复制代码

    : m; Q& c- q3 J9 Y/ S5 o& g% G" I8 k) d2 g# x+ d6 d, x( u
    参考 stackoverflow 的一个答案 https://stackoverflow.com/questi ... ipboard-not-working
    & u$ T# o, b& N大致可以试试做成这样。我记得mdx以页为单位,所以每一页里都得放这个<script>...</script> .  <div>那个标签也可以是别的标签例如<span> 什么的: X  h& X- L* v

    0 A) \2 z$ _/ E/ ]/ {9 x<button>...</button> 也可以放别的地方,只要里面的 id对上就可以了。0 Q2 e* w2 U2 s( i3 |

    + d1 m/ n& K0 `7 V可以先放一个 text-click.html 文件里用chrome或firefox浏览器测试,打开devtools(页面上右键选Inspect或F12)选Console查看可能出现的错误信息,对脚本做相应的修改。GoldenDict里好像也可以Inspect Element,mdict不太清楚。
    + c( z( D! z- _0 K7 u" v/ _: Z" h, w
    ) L1 r  ?% ~/ |, S1 I或把上面的码拷到 https://www.w3schools.com/howto/ ... w_js_copy_clipboard 修改测试效果。

    评分

    2

    查看全部评分

  • TA的每日心情
    开心
    2019-5-28 07:39
  • 签到天数: 339 天

    [LV.8]以坛为家I

     楼主| 发表于 2021-3-20 14:21:02 | 显示全部楼层
    本帖最后由 leescott 于 2021-3-20 14:29 编辑 1 F+ j# t/ P. ]
    6 |7 M: P. G" I) G! ^
    谢谢回复!
    4 r) |' ^5 C* s- R* A4 P我自己搞不定。麻烦看一看。$ A; E  {( R- [) t1 R4 h3 X
    http://www.freejs.net/article_jquerywenzi_605.html
    / T0 {+ l, }# H6 {) f( v6 |) k1 _& s, V6 J8 L# A: J+ D
    2 W5 ~: ]* C- w8 l* p5 D& ^/ e: L
    链接:https://pan.baidu.com/s/1ZEExDWouG_4hbAAgU4I2Ng ' V; ^( S$ y: E  G+ o
    提取码:gw7y , P1 {4 h0 q& f# V
  • TA的每日心情
    开心
    2019-5-28 07:39
  • 签到天数: 339 天

    [LV.8]以坛为家I

     楼主| 发表于 2021-3-20 18:05:14 | 显示全部楼层
    终于搞定。电影大观。! V3 v% l0 n& s- [5 M8 t; \
    自己看不懂,还是别处求助搞定的。外行需要交学费。
    5 f# H6 T; b' H  O  y9 h谢谢!
  • TA的每日心情
    开心
    2019-8-21 08:44
  • 签到天数: 163 天

    [LV.7]常住居民III

    发表于 2021-3-20 20:16:30 | 显示全部楼层
    本帖最后由 mikeee 于 2021-3-21 11:47 编辑 ' H5 l% g0 `& X& c: K
    leescott 发表于 2021-3-20 14:21
    0 L& Q1 ?+ d( D/ y: s谢谢回复!1 n& r, a' R, T
    我自己搞不定。麻烦看一看。
    3 k: v+ K4 [" G4 Y& |1 m  Shttp://www.freejs.net/article_jquerywenzi_605.html
    % `9 b4 N4 i+ j. z7 M* A* T

    " o5 F5 h5 x" r  加一行就可以了
    ! X) w# I7 `3 P/ _  F3 U
    1. 颜楷艺术特点
      + ?1 h6 e. [/ M
    2. 颜楷艺术特点6 ]% v$ b! [0 j3 Z8 N# F) O
    3. <h1 id='display' onClick='copyText(this)'>Text Sample</h1>5 |( E! g' c) l5 U
    4. <br>
      - {1 N. c% f8 K. r7 ^. ~# s# L+ {- }
    5. <script src="demo.js"></script>
      ' u  [$ s! u0 b/ M7 L7 J' B4 P7 Q! {
    6. </>
    复制代码

    0 A* ?  Z# B7 W) L0 w0 u: V假定 demo.js(原包里的js改名)放到和 mdx同一个目录。txt文件必须 utf-8格式,折腾我很久。1 m9 e, Y4 p/ ^- X% L# c
       
    6 O( P$ ^' l" A实测
      q! l; A' R! h6 j- s

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有账号?免费注册

    x

    评分

    1

    查看全部评分

  • TA的每日心情
    开心
    2019-8-21 08:44
  • 签到天数: 163 天

    [LV.7]常住居民III

    发表于 2021-3-20 21:50:30 | 显示全部楼层
    本帖最后由 mikeee 于 2021-3-21 09:58 编辑 $ F& ~* k, j4 ^3 M1 T! Z/ ~2 ~
    1. * y% ^/ Z) H# x
    2. 颜楷艺术特点+ _8 q( E- D% O' }
    3. 颜楷艺术特点8 }, C% ]% K9 k
    4. <h1 id='display' onClick='copyText(this)'>Text Sample</h1>
      - Y# y% D7 f  Q& J6 E  v
    5. <br>
      6 D& G. A2 B3 e$ W
    6. <script>function copyText(element){navigator.clipboard.writeText(element.textContent)}</script>
      ) b* s- U5 {# _" c! H
    7. </>+ F) q" }8 t5 `1 L5 p- O
    复制代码

    2 x: O7 f) c4 w8 t# OGodlendict浏览器引擎够新的话,加这句<script>...</script>就够了,无需外加 demo.js! 实测Chrome里可行,Goldendict暂时好像还不行,可能过一阵Goldendict更新了浏览器引擎就可以了——立此存照 :)。

    评分

    1

    查看全部评分

  • TA的每日心情
    开心
    2019-8-21 08:44
  • 签到天数: 163 天

    [LV.7]常住居民III

    发表于 2021-3-21 09:46:48 | 显示全部楼层
    本帖最后由 mikeee 于 2021-3-21 09:56 编辑
    5 q% c* T# ?& K7 W9 N- {; l! n
    1. 颜楷艺术特点) p0 p1 x: c- G/ P8 x  \$ |; O
    2. 颜楷艺术特点
      ; [  P" u& P4 ?+ z: v9 n
    3. <h1  class="btn" data-clipboard-action="copy" data-clipboard-target="h1">Text Sample</h1>. M& c; w4 h$ c- W! f1 S
    4. <br>4 Y7 S- ~" a" F/ w& T
    5. <script src="clipboard.min.js"></script>
      # o. z2 x0 e& @5 `. V
    6. <script>var clipboard = new ClipboardJS('.btn');</script>
      ; W* \* g5 W" g* C; Z7 M0 C. k
    7. </>
    复制代码

    4 T4 x% N8 u: K9 _+ I
    * A: Y6 D) M1 `. ?$ k  S) h( }2 K这个基于 clipboard.js 包,支持比较旧的浏览器。实测在 Goldendict里可行。做法:上面的码存为 demo.txt, 下载 clipboard.js  https://github.com/zenorocha/clipboard.js/archive/master.zip , 解压里面的 clipboard.min.js 文件放到和 demo.txt (demo.mdx) 同一个目录里。再用 MdxBuilder 打包成 mdx 就可以了。$ r  a: b; T4 D8 W" n+ k% ~0 K
    5 _& J2 I6 R" y& h  z9 t* S8 i! w
    感谢各位大佬送分。正好这一阵在看和这个有关的东西,算是练习一下。

    评分

    2

    查看全部评分

    您需要登录后才可以回帖 登录 | 免费注册

    本版积分规则

    小黑屋|手机版|Archiver|PDAWIKI |网站地图

    GMT+8, 2025-5-22 07:03 , Processed in 0.026894 second(s), 29 queries .

    Powered by Discuz! X3.4

    © 2001-2023 Discuz! Team.

    快速回复 返回顶部 返回列表