首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

firebug调试代码异常,obj.createTextRange is not a function

2012-04-13 
firebug调试代码错误,obj.createTextRange is not a function在ie6里执行正常的代码,在firefox里打开fireb

firebug调试代码错误,obj.createTextRange is not a function

在ie6里执行正常的代码,在firefox里打开firebug调试以后,控制台里总要显示错误信息,不知道应该怎么去掉?还是这些信息都是正常的?

obj.createTextRange is not a function
[Break on this error] js=obj.createTextRange();
Noname8.html (行 13)
obj.createTextRange is not a function
[Break on this error] obj.select();js=obj.createTextRange();js.execCommand("Cut");}
Noname8.html (行 19)
obj.createTextRange is not a function
[Break on this error] js=obj.createTextRange();

HTML code
<HTML><HEAD></HEAD><BODY><SCRIPT language=JavaScript><!--function copy(ob){var obj=findObj(ob); if (obj) {obj.select();js=obj.createTextRange();js.execCommand("Copy");}}function cut(ob){var obj=findObj(ob); if (obj) {obj.select();js=obj.createTextRange();js.execCommand("Cut");}}function findObj(n, d) {  var p,i,x;    if(!d) d=document;   if((p=n.indexOf("?"))>0&&parent.frames.length) {    d=parent.frames[n.substring(p+1)].document;    n=n.substring(0,p);}  if(!(x=d[n])&&d.all) x=d.all[n];   for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=findObj(n,d.layers[i].document);  if(!x && document.getElementById) x=document.getElementById(n); return x;}//--></SCRIPT><input type="button" name="Button" value="复制到剪贴板" onClick=copy('txtOutput')><input type="button" name="Button" value="剪贴到剪贴板" onClick=cut('txtOutput')>    <br>    <form name="fom1" method="post" action="">    <textarea name="txtOutput" rows="5" cols="50">    按钮复制和剪切:用按扭来实现复制和剪切,在屏了左右键的时候作用很大。    </textarea>  </form></BODY></HTML>


[解决办法]
JScript code
if(document.all)    js=obj.createTextRange();else    js=obj.createRange();
[解决办法]
function setCopy(_sTxt){
try{
if(window.clipboardData) {
window.clipboardData.setData("Text", _sTxt);
} else if(window.netscape) {
netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');
var clip = Components.classes['@mozilla.org/widget/clipboard;1'].createInstance(Components.interfaces.nsIClipboard);
if(!clip) return;
var trans = Components.classes['@mozilla.org/widget/transferable;1'].createInstance(Components.interfaces.nsITransferable);
if(!trans) return;
trans.addDataFlavor('text/unicode');
var str = new Object();
var len = new Object();
var str = Components.classes["@mozilla.org/supports-string;1"].createInstance(Components.interfaces.nsISupportsString);
var copytext = _sTxt;
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);
}
}catch(e){}
}

可以试下这个剪切板的是否支持

热点排行