|
|
- <script>
- var userAgent = navigator.userAgent.toLowerCase();
- var is_opera = userAgent.indexOf('opera') != -1 && opera.version();
- var is_saf = userAgent.indexOf('applewebkit') != -1 || navigator.vendor == 'Apple Computer, Inc.';
- var is_webtv = userAgent.indexOf('webtv') != -1;
- var is_ie = (userAgent.indexOf('msie') != -1 && !is_opera && !is_saf && !is_webtv) && userAgent.substr(userAgent.indexOf('msie') + 5, 3);
- function runCode(obj) {
- var winname = window.open('', "_blank", '');
- winname.document.open('text/html', 'replace');
- winname.opener = null; // 防止代码对论谈页面修改
- winname.document.write(obj.value);
- winname.document.close();
- }
- function saveCode(obj) {
- var winname = window.open('', '_blank', 'top=10000');
- winname.document.open('text/html', 'replace');
- winname.document.write(obj.value);
- winname.document.execCommand('saveas','','code.htm');
- winname.close();
- }
- function copycode(obj) {
- if (window.clipboardData)
- {
- obj.select();
- // the IE-manier
- window.clipboardData.setData("Text", obj.value);
-
- // waarschijnlijk niet de beste manier om Moz/NS te detecteren;
- // het is mij echter onbekend vanaf welke versie dit precies werkt:
- }
- else if (window.netscape) //浏览器为netscape
- {
-
- // dit is belangrijk maar staat nergens duidelijk vermeld:
- // you have to sign the code to enable this, or see notes below
- netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');
-
- // maak een interface naar het clipboard
- var clip = Components.classes['@mozilla.org/widget/clipboard;1']
- .createInstance(Components.interfaces.nsIClipboard);
- if (!clip) return;
-
- // maak een transferable
- var trans = Components.classes['@mozilla.org/widget/transferable;1']
- .createInstance(Components.interfaces.nsITransferable);
- if (!trans) return;
-
- // specificeer wat voor soort data we op willen halen; text in dit geval
- trans.addDataFlavor('text/unicode');
-
- // om de data uit de transferable te halen hebben we 2 nieuwe objecten
- // nodig om het in op te slaan
- var str = new Object();
- var len = new Object();
-
- var str = Components.classes["@mozilla.org/supports-string;1"]
- .createInstance(Components.interfaces.nsISupportsString);
-
- var copytext=obj.value;
-
- str.data=copytext;
-
- trans.setTransferData("text/unicode",str,copytext.length*2);
-
- var clipid=Components.interfaces.nsIClipboard;
-
- if (!clip) return false;
-
- clip.setData(trans,null,clipid.kGlobalClipboard);
-
-
- }
-
- }
- </script>
- <textarea id=code cols=60 rows=15></textarea>
- <br>
- <button onclick=runCode(code) >运行</button> <INPUT onclick=copycode(code) type=button value=复制代码> <INPUT onclick=saveCode(code) type=button value=另存代码>
- 提示:您可以先修改部分代码再运行</DIV></DIV>
复制代码 |
|