记录几个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 相关文章推荐
JS俄罗斯方块,包含完整的设计理念
Dec 11 Javascript
Extjs TimeField 显示正常时间格式的代码
Jun 28 Javascript
jQuery中prop()方法用法实例
Jan 05 Javascript
jquery结合CSS使用validate实现漂亮的验证
Jan 29 Javascript
一步步教你利用Canvas对图片进行处理
Sep 19 Javascript
浅谈js获取ModelAndView值的问题
Mar 28 Javascript
微信小程序实现保存图片到相册功能
Nov 30 Javascript
利用React Router4实现的服务端直出渲染(SSR)
Jan 07 Javascript
layui实现根据table数据判断按钮显示情况的方法
Sep 26 Javascript
js基础之事件捕获与冒泡原理
Oct 09 Javascript
Layui事件监听的实现(表单和数据表格)
Oct 17 Javascript
antd中table展开行默认展示,且不需要前边的加号操作
Nov 02 Javascript
新浪刚打开页面出来的全屏广告代码
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预定义变量使用帮助(带实例)
2013/10/30 PHP
xss防御之php利用httponly防xss攻击
2014/03/21 PHP
PHP实现求两个字符串最长公共子串的方法示例
2017/11/17 PHP
php的无刷新操作实现方法分析
2020/02/28 PHP
网站上面有这种切换效果
2006/06/26 Javascript
div移动 输入框不能输入的问题
2009/11/19 Javascript
javascript实现根据iphone屏幕方向调用不同样式表的方法
2015/07/13 Javascript
js创建jsonArray传输至后台及后台全面解析
2016/04/11 Javascript
详解JavaScript中Hash Map映射结构的实现
2016/05/21 Javascript
JavaScript判断数字是否为质数的方法汇总
2016/06/02 Javascript
javascript中sort排序实例详解
2016/07/24 Javascript
浅谈js的html元素的父节点,子节点
2016/08/06 Javascript
JS中split()用法(将字符串按指定符号分割成数组)
2016/10/24 Javascript
详解handlebars+require基本使用方法
2016/12/21 Javascript
详解js中Array的方法及技巧
2018/09/12 Javascript
vue 内置过滤器的使用总结(附加自定义过滤器)
2018/12/11 Javascript
layui table 列宽百分比显示的实现方法
2019/09/28 Javascript
leaflet加载geojson叠加显示功能代码
2020/02/21 Javascript
基于canvas实现手写签名(vue)
2020/05/21 Javascript
[01:17]炒鸡美酒第四天TA暴走
2018/06/05 DOTA
Python httplib,smtplib使用方法
2008/09/06 Python
详解Python里使用正则表达式的ASCII模式
2017/11/02 Python
Python OpenCV读取png图像转成jpg图像存储的方法
2018/10/28 Python
python全栈知识点总结
2019/07/01 Python
使用Python进行中文繁简转换的实现代码
2019/10/18 Python
PyCharm下载和安装详细步骤
2019/12/17 Python
python 爬取马蜂窝景点翻页文字评论的实现
2020/01/20 Python
全球最大最受欢迎的旅游社区:Tripadvisor
2017/11/03 全球购物
国家地理在线商店:Shop National Geographic
2018/06/30 全球购物
What's the difference between an interface and abstract class? (接口与抽象类有什么区别)
2012/10/29 面试题
How TDD works
2012/09/30 面试题
银行实习鉴定
2013/12/13 职场文书
拾金不昧表扬信范文
2014/01/11 职场文书
影子教师研修方案
2014/06/14 职场文书
经营目标管理责任书
2014/07/25 职场文书
拾金不昧感谢信范文
2015/01/21 职场文书