记录几个javascript有关的小细节


Posted in Javascript onApril 02, 2007

很多很多的事都容易在不经意间忘却,所以我选择记录下来。

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(!!被浏览器拒绝!\n请在浏览器地址栏输入'about:config'并回车\n然后将'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 + '<br />');
document.write('Computer: ' + ax.ComputerName + '<br />');
}
catch (e)
{
document.write('访问当前电脑名操作被拒绝'+ '<br />');
}

Javascript 相关文章推荐
javascript字符串拼接的效率问题
Dec 25 Javascript
利用javascript实现禁用网页上所有文本框,下拉菜单,多行文本域
Dec 14 Javascript
js阻止默认事件与js阻止事件冒泡示例分享 js阻止冒泡事件
Jan 27 Javascript
基于jquery实现智能表单验证操作
May 09 Javascript
jquery div模态窗口的简单实例
May 28 Javascript
利用jquery获取select下拉框的值
Nov 23 Javascript
JavaScript实现获取远程的html到当前页面中
Mar 26 Javascript
基于 Vue 实现一个酷炫的 menu插件
Nov 14 Javascript
详解Nuxt.js部署及踩过的坑
Aug 07 Javascript
详解vue中this.$emit()的返回值是什么
Apr 07 Javascript
js判断密码强度的方法
Mar 18 Javascript
jQuery实时统计输入框字数及限制
Jun 24 jQuery
新浪刚打开页面出来的全屏广告代码
Apr 02 #Javascript
js prototype 格式化数字 By shawl.qiu
Apr 02 #Javascript
JXTree对象,读取外部xml文件数据,生成树的函数
Apr 02 #Javascript
新浪中用来显示flash的函数
Apr 02 #Javascript
我也种棵OO树JXTree[js+css+xml]
Apr 02 #Javascript
javascript中获取选中对象的类型
Apr 02 #Javascript
javascript实现动态增加删除表格行(兼容IE/FF)
Apr 02 #Javascript
You might like
无法在发生错误时创建会话,请检查 PHP 或网站服务器日志,并正确配置 PHP 安装(win+linux)
2012/05/05 PHP
php基于websocket搭建简易聊天室实践
2016/10/24 PHP
ASP.NET jQuery 实例6 (实现CheckBoxList成员全选或全取消)
2012/01/13 Javascript
javascript 快速排序函数代码
2012/05/30 Javascript
详解jQuery插件开发中的extend方法
2013/11/19 Javascript
js中哈希表的几种用法总结
2014/01/28 Javascript
JS访问SWF的函数用法实例
2015/07/01 Javascript
移动端刮刮乐的实现方式(js+HTML5)
2017/03/23 Javascript
Nodejs+express+ejs简单使用实例代码
2017/09/18 NodeJs
js实现json数组分组合并操作示例
2019/02/12 Javascript
微信小程序去除左上角返回键的实现方法
2020/03/06 Javascript
[01:16:12]完美世界DOTA2联赛PWL S2 FTD vs Inki 第一场 11.21
2020/11/23 DOTA
在Django的视图(View)外使用Session的方法
2015/07/23 Python
简介Django框架中可使用的各类缓存
2015/07/23 Python
python实现多线程网页下载器
2018/04/15 Python
Python爬虫之正则表达式基本用法实例分析
2018/08/08 Python
使用Python向DataFrame中指定位置添加一列或多列的方法
2019/01/29 Python
Pycharm简单使用教程(入门小结)
2019/07/04 Python
python数据归一化及三种方法详解
2019/08/06 Python
win10安装python3.6的常见问题
2020/07/01 Python
解决keras GAN训练是loss不发生变化,accuracy一直为0.5的问题
2020/07/02 Python
Python 测试框架unittest和pytest的优劣
2020/09/26 Python
详解用selenium来下载小姐姐图片并保存
2021/01/26 Python
CSS3 制作旋转的大风车(充满童年回忆)
2013/01/30 HTML / CSS
Html5应用程序缓存(Cache manifest)
2018/06/04 HTML / CSS
美国女鞋品牌:naturalizer(娜然)
2016/08/01 全球购物
意大利制造的西装、衬衫和针对男士量身定制的服装:Lanieri
2018/04/08 全球购物
Luxplus丹麦:香水和个人护理折扣
2018/04/23 全球购物
Bose加拿大官方网站:美国知名音响品牌
2019/03/21 全球购物
我们没有写servlet的构造方法,那么容器是怎么创建servlet的实例呢
2013/04/24 面试题
公司市场部岗位职责
2013/12/02 职场文书
大学本科毕业生求职信范文
2013/12/18 职场文书
见习期自我鉴定
2014/01/31 职场文书
中学生爱国演讲稿
2014/09/05 职场文书
党的生日演讲稿
2014/09/10 职场文书
python+pytest接口自动化之token关联登录的实现
2022/04/06 Python