记录几个javascript有关的小细节
2024-09-06 12:42:48
供稿:网友
很多很多的事都容易在不经意间忘却,所以我选择记录下来。
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);