腾讯云网站解决方案帮您轻松应对建站成本高/网络不稳等常见问题

网页中的复制、另存为、运行等JS代码的实现

1
回复
1316
查看
[复制链接]

763

主题

777

帖子

3万

积分

董事

Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72

积分
32946
发表于 19-4-4 17:23:36 | 显示全部楼层 |阅读模式      紫钻仅向指定用户开放  
1、格式化编辑器,也就是我说的执行js代码前的转义函数,也就是html反替换函数以下为引用的内容:
% b  P" n4 q1 w3 N2 u9 g
  1. function  reHtml(str) {; |. }: r4 d! {6 L0 x& k7 E(ww w.qiuqiufa.c om)
    0 H9 n" R' o( B4 z/ q
  2. var str = str.replace(/<br \/>/g, "").replace(/<BR>/g, "").replace(/<\/P>/g, "").replace(/<P>/g, "").replace(/ /g, "").replace(/&/g, "&").replace(/"/g, '"').replace(/</g, "<").replace(/>/g, ">");8 w9 d/ Q9 H' V0 {% I
  3. return str;
    3 m: R+ _: y# I0 v6 ^; v# E
  4. }: B. A* Y4 g0 R# M(w w w.qiuqiufa.co m)
    & D5 a, E: u: y2 I0 {
复制代码
: y) a. D$ y2 p& \; a+ s
2、运行代码,原理很简单就是打开一个新窗口页面,写进代码; 以下为引用的内容:$ M5 N. n. `* u9 r  t+ N/ e
  1. function runCode(obj) {$ F# A, s& t& n( U: X
  2.         var winname = window.open('', "_blank", '');- A6 g* o  g% @+ l(w ww.qiuqiufa.co m)5 y2 e, U1 l: }
  3.         winname.document.open('text/html', 'replace');9 `- A$ W7 S" G" A: N% T5 f$ y(w w w.qiuqiufa.com)
    4 ^; g# r- N$ a* d) S' q" u
  4.      winname.opener = null // 防止代码对论谈页面修改& n, o2 m  C8 i  W(w w w.qiuqiufa.co m)6 p. z9 M9 ^3 y7 {
  5.      var str = reHtml(obj.innerHTML);
    1 n8 B) g! o) W  E, U
  6.         winname.document.write(str);: r7 z/ w. f/ S# U' G/ y/ t(w ww.qiuqiu fa.c o  m)
    6 P/ ?" A6 z' C- e
  7.         winname.document.close();! p% t* t( x$ ~1 ]/ @4 i5 N
  8. }
复制代码
3 T3 L8 h& U0 m
2 O7 k' H2 |  G
3、复制代码,更简单 以下为引用的内容:9 t- E3 W( \' N( D

( G/ A4 W1 ]/ G" l8 {- Y3 V
  1. function doCopy(obj) {
    - \! j; P  G5 k  q  y$ U" [
  2.   var str = reHtml(obj.innerHTML);: \. t: R+ C3 H" V$ G+ x
  3.         if (window.clipboardData.setData ("Text",str))
    ; P, p( _& p# y4 w
  4.           {8 |4 @) k9 @5 M5 z7 f$ W5 _  N(www.qiuqiufa.c om)
    % o0 X- _9 U# _
  5.               alert('球球发提示:复制成功;');
    3 L8 S7 W: ]- a; o7 Y
  6.           }
    0 J3 R) s) E' ~" ^+ d
  7.         else4 [5 S; s5 }% R* o9 U
  8.           {2 D+ u3 x7 j+ ?
  9.               alert('球球发提示:复制失败;');" o5 S: v2 O5 @& I' l(www.qiu qiufa.c om)0 f. M- R3 E* b5 [  j
  10.           }( t2 x7 Y$ P% h( n1 \(w w w.qiu qiu fa.c om)6 Z" F! ~7 K* j" ]- t
  11. }) X9
复制代码

8 x+ V9 y3 e; \, T+ t0 Y6 p4、另保存代码 以下为引用的内容:3 T" h7 Y  S4 R( S+ g0 n7 Y% O( @' u
  1. function saveCode(obj) {
    ' o: X. O5 I$ v9 K, R4 D4 N
  2.         var winname = window.open('', '_blank', 'top=10000');: z- j2 m0 T3 N8 H* f4 B) C(w w w.qiuqiufa.c om)  `9 W# }9 {' G! G. D! S2 h
  3.         winname.document.open('text/html', 'replace');, L% m+ H3 }& X& |* o(w w w.qiu qiuf a.c om)1 r) s& F. A, {; }: u! i
  4.   var str = reHtml(obj.innerHTML);
      N; S; \% R' q: ^  p. S+ h) n
  5.         winname.document.write(str);+ ^" M7 K  j+ _2 k(w w w.qiuqiufa.c om)
    - n+ y" o3 J. O7 ~4 a. x2 W) y
  6.         winname.document.execCommand('saveas','','code.htm');/ T4 E, U. j5 c; q/ G- \(ww w.q iuqiufa.c om)
    $ b$ e: P; ?8 t9 p9 S
  7.         winname.close();5 _# c" m5 X6 o(ww  w.qiuqiuf  a.c om)
复制代码

" t2 A) T  q. S$ T2 N3 d
! s! D& `) ?! p) [  L

0

主题

6

帖子

4

积分

1°伸手党

Rank: 2

积分
4
发表于 19-10-14 13:25:28 | 显示全部楼层         
找到好贴不容易,我顶你了,谢了
回复

使用道具 举报

网站简介

球球发,是一家 Discuz! 商业插件、风格模板、网站源码、 Discuz!运营维护技术等于一体的交流分享网站,全站95%的资源都是免费下载,对于资源我们是每天更新,每个亲测资源最新最全---球球发(如果我们有侵犯了您权益的资源请联系我们删除