記錄幾個javascript有關(guān)的小細節(jié)
更新時間:2007年04月02日 00:00:00 作者:
很多很多的事都容易在不經(jīng)意間忘卻,所以我選擇記錄下來。
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兼容的復(fù)制到剪貼板 javascript 代碼
這個函數(shù)使用在Firefox下時需要修改一個配置:
1.打開firefox ,在地址欄中輸入: about:config
2.找到signed.applets.codebase_principal_support,將值設(shè)置為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'設(shè)置為'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("您已經(jīng)復(fù)制: " + meintext);
return false;
}
用javascript獲取客戶端電腦名
前幾天學(xué)習(xí)php的時候想實現(xiàn)獲取客戶端電腦名,在asp及.net下都有實現(xiàn)的例子,但一直沒找到辦法php下實現(xiàn)的方法。后來在國外的論壇里找到了一些代碼,是javascript的。但只能運行于IE環(huán)境,而且必須把安全級別設(shè)置得相當(dāng)?shù)筒趴梢浴?
try
{
var ax = new ActiveXObject("WScript.Network");
document.write('User: ' + ax.UserName + '<br />');
document.write('Computer: ' + ax.ComputerName + '<br />');
}
catch (e)
{
document.write('訪問當(dāng)前電腦名操作被拒絕'+ '<br />');
}
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兼容的復(fù)制到剪貼板 javascript 代碼
這個函數(shù)使用在Firefox下時需要修改一個配置:
1.打開firefox ,在地址欄中輸入: about:config
2.找到signed.applets.codebase_principal_support,將值設(shè)置為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'設(shè)置為'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("您已經(jīng)復(fù)制: " + meintext);
return false;
}
用javascript獲取客戶端電腦名
前幾天學(xué)習(xí)php的時候想實現(xiàn)獲取客戶端電腦名,在asp及.net下都有實現(xiàn)的例子,但一直沒找到辦法php下實現(xiàn)的方法。后來在國外的論壇里找到了一些代碼,是javascript的。但只能運行于IE環(huán)境,而且必須把安全級別設(shè)置得相當(dāng)?shù)筒趴梢浴?
try
{
var ax = new ActiveXObject("WScript.Network");
document.write('User: ' + ax.UserName + '<br />');
document.write('Computer: ' + ax.ComputerName + '<br />');
}
catch (e)
{
document.write('訪問當(dāng)前電腦名操作被拒絕'+ '<br />');
}
相關(guān)文章
詳解webpack require.ensure與require AMD的區(qū)別
本篇文章主要介紹了詳解webpack require.ensure與require AMD的區(qū)別,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-12-12
JS & JQuery 動態(tài)添加 select option
這篇文章主要介紹了JS & JQuery 動態(tài)添加 select option 的相關(guān)資料,非常不錯具有參考借鑒價值,感興趣的朋友一起看下吧2016-06-06
全面解析Bootstrap中scrollspy(滾動監(jiān)聽)的使用方法
這篇文章主要為大家全面解析Bootstrap中scrollspy(滾動偵聽)的使用方法,感興趣的小伙伴們可以參考一下2016-06-06
javascript驗證內(nèi)容為數(shù)字以及長度為10的簡單實例
下面小編就為大家?guī)硪黄猨avascript驗證內(nèi)容為數(shù)字以及長度為10的簡單實例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-08-08
原生javascript中this幾種常見用法總結(jié)
這篇文章主要介紹了原生javascript中this幾種常見用法,結(jié)合實例形式總結(jié)分析了JavaScript中this的功能、常見用法及操作注意事項,需要的朋友可以參考下2020-02-02
在JavaScript 中按字母排序之如何在 JS 中按名稱排序
有時你可能有一個單詞數(shù)組,你想按字母順序(從 a-z)對每個單詞進行排序,或者你可能有一個包含用戶信息(包括名字)的對象數(shù)組,例如,你想按照用戶的名字來排序,接下來通過本文給大家介紹在JavaScript 中按字母排序之如何在 JS 中按名稱排序,需要的朋友可以參考下2023-09-09
優(yōu)化javascript的執(zhí)行效率一些方法總結(jié)
本文為大家介紹下優(yōu)化javascript的執(zhí)行效率一些方法,個人感覺還不錯,感興趣的朋友可以了解下2013-12-12

