您好,欢迎访问一九零五行业门户网

记录几个javascript有关的小细节_javascript技巧

很多很多的事都容易在不经意间忘却,所以我选择记录下来。
firefox 不支持 obj.innertext 属性。
obj.innertext alert()显示的值是 undefined。
firefox 支持 innerhtml 属性却不支持 innertext,如果不想用innerhtml 替代,可以用如下代码
由于firefox不支持document.all,所以考虑兼容的时候获取对象通常用 document.getelementbyid('yourid').
if (document.all) {  //如果不是ie  
//也可以用 if(navigator.appname.indexof(explorer) > -1) // obj.innertext = mytext;}else { obj.textcontent = yourtext; 用textcontent 替代 
}
firefox、ie兼容的复制到剪贴板 javascript 代码
这个函数使用在firefox下时需要修改一个配置:
1.打开firefox ,在地址栏中输入: about:config
2.找到signed.applets.codebase_principal_support,将值设置为true
function copytoclipboard(txt) {
if(window.clipboarddata) 
  { 
    window.clipboarddata.cleardata(); 
    window.clipboarddata.setdata(text, txt); 
  } 
  else if(navigator.useragent.indexof(opera) != -1) 
  { 
    window.location = txt; 
  } 
  else if (window.netscape) 
  { 
    try { 
        netscape.security.privilegemanager.enableprivilege(universalxpconnect); 
    } 
    catch (e) 
    { 
        alert(!!被浏览器拒绝!请在浏览器地址栏输入'about:config'并回车然后将'signed.applets.codebase_principal_support'设置为'true'); 
    } 
    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 = txt; 
    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); 
  } 
  return true; 
}
或者用下面这段代码,功能相同。
function copytoclipboard(meintext)
{
    if (window.clipboarddata) 
    {
        // the ie-manier
        window.clipboarddata.setdata(text, meintext);
    }
    else if (window.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;
        //alert(clip);
        // 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=meintext;
        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);
    }
    else
    {
        return false;
    }
alert(您已经复制:  + meintext);
    return false;
}
用javascript获取客户端电脑名
前几天学习php的时候想实现获取客户端电脑名,在asp及.net下都有实现的例子,但一直没找到办法php下实现的方法。后来在国外的论坛里找到了一些代码,是javascript的。但只能运行于ie环境,而且必须把安全级别设置得相当低才可以。
try
{
var ax = new activexobject(wscript.network);
document.write('user: ' + ax.username + '
');
document.write('computer: ' + ax.computername + '
');
}
catch (e)
{
document.write('访问当前电脑名操作被拒绝'+ '
');
}
其它类似信息

推荐信息